From 102243e76d8f7c391dd0ea89200e310b0244f92d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 11 Oct 2024 17:51:03 +0100
Subject: [PATCH 1/8] Update Changelog (#5972)
---
CHANGELOG.md | 5479 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 5295 insertions(+), 184 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 909725aeba..fb06bef0a3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,190 +1,5301 @@
+# Changelog
+
+
+
+## [v2.8.4](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.4) - 11 Oct 2024
+
+### Overview
+
+This release introduces a number of features that help users run core 2 with dynamic loads. We added support for HPA model & server autoscaling based on custom metrics in the single-model-serving case. Documentation showing an example of scaling based on model RPS is described [here](https://docs.seldon.ai/seldon-core-2/kubernetes/hpa-rps-autoscaling).
+
+This release also reduces the risk of data plane outage in the case of control plane issues (specifically when `seldon-scheduler` is restarting). This is done by synchronising the process of the scheduler (re)start with the rest of the system.
+
+A number of features have been added, most notably users can now upgrade a model to a new version that is part of an ongoing experiment.
+
+We are migrating docs to a new site [here](https://docs.seldon.ai/seldon-core-2) (experimental).
+
+### (Main) Features:
+
+- Add gitbook support (experimental) [`#5943`](https://github.com/SeldonIO/seldon-core/pull/5943)
+- Add metadata object to a `seldonconfig` component [`#5918`](https://github.com/SeldonIO/seldon-core/pull/5918)
+- `seldon-scheduler` startup synchronisation [`#5930`](https://github.com/SeldonIO/seldon-core/pull/5930)
+- Envoy Grafana Dashbaord [`#5894`](https://github.com/SeldonIO/seldon-core/pull/5894)
+- Upgrade models in experiment [`#5874`](https://github.com/SeldonIO/seldon-core/pull/5874)
+- Add pipeline and model name validation [`#5872`](https://github.com/SeldonIO/seldon-core/pull/5872)
+- Add retry parameters [`#5875`](https://github.com/SeldonIO/seldon-core/pull/5875)
+
+### (Main) Bugs Fixed:
+
+- Skip out of order control messages in `seldon-agent` [`#5969`](https://github.com/SeldonIO/seldon-core/pull/5969)
+- Use `StatefulSet.Spec.Replicas` as reference for Server status [`#5945`](https://github.com/SeldonIO/seldon-core/pull/5945)
+- Cleaning up models that fail to load [`#5857`](https://github.com/SeldonIO/seldon-core/pull/5857) and [`#5830`](https://github.com/SeldonIO/seldon-core/pull/5830)
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.4](https://github.com/SeldonIO/seldon-core/compare/v2.8.3...v2.8.4)
+
+> 11 October 2024
+
+- fix(ci): Changes from v2 for release 2.8.4 (5) [`#5970`](https://github.com/SeldonIO/seldon-core/pull/5970)
+- fix(docs): revert changes for changelog.md [`#5971`](https://github.com/SeldonIO/seldon-core/pull/5971)
+- fix(agent): Skip agent out of order control messages [`#5969`](https://github.com/SeldonIO/seldon-core/pull/5969)
+- Update README.md [`#5955`](https://github.com/SeldonIO/seldon-core/pull/5955)
+- fix(docs): changed the name from core v2 to Core 2 [`#5963`](https://github.com/SeldonIO/seldon-core/pull/5963)
+- fix(ci): Changes from v2 for release 2.8.4 (4) [`#5968`](https://github.com/SeldonIO/seldon-core/pull/5968)
+- increase drain grace period wait [`#5967`](https://github.com/SeldonIO/seldon-core/pull/5967)
+- refactor: error checks and nil pointer check [`#5964`](https://github.com/SeldonIO/seldon-core/pull/5964)
+- fix(ci): changes from v2 for release 1.8.4 (3) [`#5966`](https://github.com/SeldonIO/seldon-core/pull/5966)
+- fix(scheduler): Add grace period for model unload [`#5965`](https://github.com/SeldonIO/seldon-core/pull/5965)
+- Update README.md [`#5962`](https://github.com/SeldonIO/seldon-core/pull/5962)
+- fix(ci): Changes from v2 for release 2.8.4 (2) [`#5956`](https://github.com/SeldonIO/seldon-core/pull/5956)
+- fix(controller): Adjust controller -> scheduler state recreation upon scheduler disconnect. [`#5944`](https://github.com/SeldonIO/seldon-core/pull/5944)
+- feat(docs): improve HPA autoscaling docs [`#5953`](https://github.com/SeldonIO/seldon-core/pull/5953)
+- fix(docs): fix HPA-autoscaling formula in old docs [`#5950`](https://github.com/SeldonIO/seldon-core/pull/5950)
+- feat: bump k8s kind to 1.31 [`#5954`](https://github.com/SeldonIO/seldon-core/pull/5954)
+- Merge GitBook Docs with V2 master [`#5943`](https://github.com/SeldonIO/seldon-core/pull/5943)
+- feat: adding -ldflag and -trimpath to go build [`#5940`](https://github.com/SeldonIO/seldon-core/pull/5940)
+- fix(k8s/yaml): add timing environment variables to triton agent [`#5949`](https://github.com/SeldonIO/seldon-core/pull/5949)
+- fix(operator): Use StatefulSet.Spec.Replicas as reference for Server status [`#5945`](https://github.com/SeldonIO/seldon-core/pull/5945)
+- Bump ubi9/ubi-minimal in /scheduler [`#5941`](https://github.com/SeldonIO/seldon-core/pull/5941)
+- Bump rclone/rclone from 1.68.0 to 1.68.1 in /scheduler [`#5942`](https://github.com/SeldonIO/seldon-core/pull/5942)
+- fix(ci): Release 2.8.4 [`#5934`](https://github.com/SeldonIO/seldon-core/pull/5934)
+- feat(charts): adding metadata object to a seldonconfig component [`#5918`](https://github.com/SeldonIO/seldon-core/pull/5918)
+- feat(operator): add Model selector for scale subresource to enable HPA-based scaling [`#5932`](https://github.com/SeldonIO/seldon-core/pull/5932)
+- fix(scheduler): Scheduler wait on server connect [`#5930`](https://github.com/SeldonIO/seldon-core/pull/5930)
+- Bump envoyproxy/envoy from v1.31.1 to v1.31.2 in /scheduler [`#5923`](https://github.com/SeldonIO/seldon-core/pull/5923)
+- fix headers key for http k6 test [`#5920`](https://github.com/SeldonIO/seldon-core/pull/5920)
+- feat(chart): exposed retry constants as helm chart [`#5889`](https://github.com/SeldonIO/seldon-core/pull/5889)
+- create a CDS cluster per model [`#5916`](https://github.com/SeldonIO/seldon-core/pull/5916)
+- feat(o11y): Envoy Grafana Dashbaord [`#5894`](https://github.com/SeldonIO/seldon-core/pull/5894)
+- Bump ubi9/ubi-minimal from 9.4-1227 to 9.4-1227.1725849298 in /scheduler [`#5913`](https://github.com/SeldonIO/seldon-core/pull/5913)
+- Bump rclone/rclone from 1.67.0 to 1.68.0 in /scheduler [`#5914`](https://github.com/SeldonIO/seldon-core/pull/5914)
+- Bump envoyproxy/envoy from v1.31.0 to v1.31.1 in /scheduler [`#5915`](https://github.com/SeldonIO/seldon-core/pull/5915)
+- fix(scheduler): Controller to update the list of servers to scheduler on reconnect [`#5893`](https://github.com/SeldonIO/seldon-core/pull/5893)
+- fix(bug): time unit fix [`#5892`](https://github.com/SeldonIO/seldon-core/pull/5892)
+- feat(env): parameters exposed as env variables [`#5875`](https://github.com/SeldonIO/seldon-core/pull/5875)
+- Bump ubi9/ubi-micro from 9.4-13 to 9.4-15 in /scheduler [`#5877`](https://github.com/SeldonIO/seldon-core/pull/5877)
+- Bump ubi9/ubi-minimal from 9.4-1194 to 9.4-1227 in /scheduler [`#5878`](https://github.com/SeldonIO/seldon-core/pull/5878)
+- Bump ubi9/ubi-micro from 9.4-13 to 9.4-15 in /hodometer [`#5879`](https://github.com/SeldonIO/seldon-core/pull/5879)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/v2/kafka/splunkkafka [`#5881`](https://github.com/SeldonIO/seldon-core/pull/5881)
+- Bump ubi9/ubi-micro from 9.4-13 to 9.4-15 in /operator [`#5885`](https://github.com/SeldonIO/seldon-core/pull/5885)
+- feat: pipeline and model name validation [`#5872`](https://github.com/SeldonIO/seldon-core/pull/5872)
+- fix(envoy): upgrade models in experiment [`#5874`](https://github.com/SeldonIO/seldon-core/pull/5874)
+- feat(grafana): add performance dashboard [`#5852`](https://github.com/SeldonIO/seldon-core/pull/5852)
+- fix(golangci-lint): version bump and location fix [`#5853`](https://github.com/SeldonIO/seldon-core/pull/5853)
+- Re-generate license info [`#5871`](https://github.com/SeldonIO/seldon-core/pull/5871)
+- Re-generate license info [`#5869`](https://github.com/SeldonIO/seldon-core/pull/5869)
+- Bump github.com/envoyproxy/go-control-plane in /scheduler [`#5837`](https://github.com/SeldonIO/seldon-core/pull/5837)
+- Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 in /operator [`#5841`](https://github.com/SeldonIO/seldon-core/pull/5841)
+- Bump grafana/grafana from 11.1.3 to 11.2.0 in /scheduler [`#5858`](https://github.com/SeldonIO/seldon-core/pull/5858)
+- Bump google.golang.org/grpc from 1.65.0 to 1.66.0 in /hodometer [`#5861`](https://github.com/SeldonIO/seldon-core/pull/5861)
+- fix(model-gateway): Create consumer if model can serve traffic [`#5865`](https://github.com/SeldonIO/seldon-core/pull/5865)
+- fix(agent): cleaning up models that fail to load [`#5857`](https://github.com/SeldonIO/seldon-core/pull/5857)
+- Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 in /operator [`#5820`](https://github.com/SeldonIO/seldon-core/pull/5820)
+- Bump grafana/grafana from 11.1.1 to 11.1.3 in /scheduler [`#5823`](https://github.com/SeldonIO/seldon-core/pull/5823)
+- fix(agent): cleanup rclone directory on errors [`#5830`](https://github.com/SeldonIO/seldon-core/pull/5830)
+- feat(scheduler): Add max elapsed duration for model load/unload [`#5819`](https://github.com/SeldonIO/seldon-core/pull/5819)
+- Bump github.com/onsi/gomega from 1.33.1 to 1.34.0 in /scheduler [`#5799`](https://github.com/SeldonIO/seldon-core/pull/5799)
+- fix: Add experiments pipeline tests for envoy processor [`#5810`](https://github.com/SeldonIO/seldon-core/pull/5810)
+- Re-generate license info [`#5813`](https://github.com/SeldonIO/seldon-core/pull/5813)
+- Re-generate license info [`#5811`](https://github.com/SeldonIO/seldon-core/pull/5811)
+- Bump ubi9/ubi-minimal from 9.4-1134 to 9.4-1194 in /scheduler [`#5800`](https://github.com/SeldonIO/seldon-core/pull/5800)
+- Bump grafana/grafana from 11.1.0 to 11.1.1 in /scheduler [`#5801`](https://github.com/SeldonIO/seldon-core/pull/5801)
+- Bump ubi9/ubi-micro from 9.4-9 to 9.4-13 in /hodometer [`#5795`](https://github.com/SeldonIO/seldon-core/pull/5795)
+- Bump ubi9/ubi-micro from 9.4-9 to 9.4-13 in /operator [`#5798`](https://github.com/SeldonIO/seldon-core/pull/5798)
+- Bump ubi9/ubi-micro from 9.4-9 to 9.4-13 in /scheduler [`#5802`](https://github.com/SeldonIO/seldon-core/pull/5802)
+- Bump envoyproxy/envoy from v1.30.4 to v1.31.0 in /scheduler [`#5780`](https://github.com/SeldonIO/seldon-core/pull/5780)
+- Re-generate license info [`#5792`](https://github.com/SeldonIO/seldon-core/pull/5792)
+- fix(ci): add additional licenses for transitive dependencies [`#5791`](https://github.com/SeldonIO/seldon-core/pull/5791)
+- build(grpc): move to latest versions of protobuf/grpc codegen tools [`#5789`](https://github.com/SeldonIO/seldon-core/pull/5789)
+- Re-generate license info [`#5790`](https://github.com/SeldonIO/seldon-core/pull/5790)
+- build(deps): bump google.golang.org/grpc to 1.65.0 [`#5748`](https://github.com/SeldonIO/seldon-core/pull/5748)
+- feat(helm-charts): allow pod spec overrides via values [`#5771`](https://github.com/SeldonIO/seldon-core/pull/5771)
+- feat(ansible): allow local (host) mounts in kind [`#5770`](https://github.com/SeldonIO/seldon-core/pull/5770)
+- Re-generate license info [`#5769`](https://github.com/SeldonIO/seldon-core/pull/5769)
+- Bump github.com/confluentinc/confluent-kafka-go/v2 in /scheduler [`#5755`](https://github.com/SeldonIO/seldon-core/pull/5755)
+- Bump go.opentelemetry.io/otel/sdk from 1.27.0 to 1.28.0 in /scheduler [`#5756`](https://github.com/SeldonIO/seldon-core/pull/5756)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5757`](https://github.com/SeldonIO/seldon-core/pull/5757)
+- Bump github.com/confluentinc/confluent-kafka-go/v2 in /operator [`#5759`](https://github.com/SeldonIO/seldon-core/pull/5759)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5758`](https://github.com/SeldonIO/seldon-core/pull/5758)
+- Update changelog.yml [`#5764`](https://github.com/SeldonIO/seldon-core/pull/5764)
+- fix(ci): Update changelog.yml [`#5763`](https://github.com/SeldonIO/seldon-core/pull/5763)
+- Generating changelog for v2.8.4 [`e7b41bb`](https://github.com/SeldonIO/seldon-core/commit/e7b41bb27d67762393978e27557a6ad65f63b739)
+- Generating changelog for v2.8.4-rc1 [`5c0d866`](https://github.com/SeldonIO/seldon-core/commit/5c0d866c0add8041cac9fadd6a45f2bf08e65e29)
+- Setting version for yaml manifests [`e148660`](https://github.com/SeldonIO/seldon-core/commit/e148660a48598d0921d47b05689da5382f174e34)
+- Setting version for helm charts [`54980bb`](https://github.com/SeldonIO/seldon-core/commit/54980bbae48509a6a036bce6a34d53a35babde39)
+- Setting version for helm charts [`2d27dae`](https://github.com/SeldonIO/seldon-core/commit/2d27dae35d874e3828b5336e741c8f080ef89d3d)
+
+
+[Changes][v2.8.4]
+
+
+
+## [v2.8.3](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.3) - 17 Jul 2024
+
+### Overview
+
+This release is targeted to fix the experiments worflow so that the system can deal with deleted experiments properly on restart of components, specifically `seldon-scheduler`.
+
+As part of the work done the system can now:
+
+- Handle different versions of the `seldon-scheduler` local embedded db (BadgerDB), with the ability to migrate to the latest version seamlessly.
+- Recover the state of the scheduler from k8s if this local embedded db is corrupted / lost, which includes recovering both experiments and pipelines that exist in k8s.
+
+### (Main) Bugs Fixed:
+
+- scheduler/operator: Deal with deleted experiments when restoring from cache [`#5726`](https://github.com/SeldonIO/seldon-core/pull/5726)
+- scheduler: Do not report back draining servers for status [`#5761`](https://github.com/SeldonIO/seldon-core/pull/5761)
+
+### (Main) Features:
+
+- operator: add custom printcolumns for seldon-specific CRs [`#5736`](https://github.com/SeldonIO/seldon-core/pull/5736)
+
+### (Main) Upgrades:
+
+- use mlserver 1.6.0 [`#5724`](https://github.com/SeldonIO/seldon-core/pull/5724)
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.3](https://github.com/SeldonIO/seldon-core/compare/v2.8.2...v2.8.3)
+
+> 17 July 2024
+
+- ci: Merge change from v2 for release 2.8.3 [`#5762`](https://github.com/SeldonIO/seldon-core/pull/5762)
+- fix(scheduler): Do not report back draining servers for status [`#5761`](https://github.com/SeldonIO/seldon-core/pull/5761)
+- ci: Changes from `v2` for release `2.8.3` [`#5751`](https://github.com/SeldonIO/seldon-core/pull/5751)
+- fix: Deal with deleted experiments when restoring from cache [`#5726`](https://github.com/SeldonIO/seldon-core/pull/5726)
+- fix(ansible): add explicit dependency on community.docker collection [`#5746`](https://github.com/SeldonIO/seldon-core/pull/5746)
+- fix(golang-lint): update lint config file to remove deprecated settings [`#5747`](https://github.com/SeldonIO/seldon-core/pull/5747)
+- build(grpc): update Makefile responsible for code generation [`#5749`](https://github.com/SeldonIO/seldon-core/pull/5749)
+- Bump ubi9/openjdk-17-runtime from 1.18 to 1.20 in /scheduler [`#5666`](https://github.com/SeldonIO/seldon-core/pull/5666)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5712`](https://github.com/SeldonIO/seldon-core/pull/5712)
+- Bump org.junit.jupiter:junit-jupiter-params in /scheduler/data-flow [`#5729`](https://github.com/SeldonIO/seldon-core/pull/5729)
+- Re-generate license info [`#5737`](https://github.com/SeldonIO/seldon-core/pull/5737)
+- feat(operator): add custom printcolumns for seldon-specific CRs [`#5736`](https://github.com/SeldonIO/seldon-core/pull/5736)
+- Re-generate license info [`#5735`](https://github.com/SeldonIO/seldon-core/pull/5735)
+- Re-generate license info [`#5734`](https://github.com/SeldonIO/seldon-core/pull/5734)
+- Bump envoyproxy/envoy from v1.30.2 to v1.30.4 in /scheduler [`#5731`](https://github.com/SeldonIO/seldon-core/pull/5731)
+- Bump grafana/grafana from 11.0.0 to 11.1.0 in /scheduler [`#5732`](https://github.com/SeldonIO/seldon-core/pull/5732)
+- Re-generate license info [`#5725`](https://github.com/SeldonIO/seldon-core/pull/5725)
+- use mlserver 1.6.0 [`#5724`](https://github.com/SeldonIO/seldon-core/pull/5724)
+- Trigger license check on changes to v2 branch [`#5721`](https://github.com/SeldonIO/seldon-core/pull/5721)
+- Re-generate license info [`#5723`](https://github.com/SeldonIO/seldon-core/pull/5723)
+- 3rd party license [`#5708`](https://github.com/SeldonIO/seldon-core/pull/5708)
+- feat: Add experiments to stress tests [`#5714`](https://github.com/SeldonIO/seldon-core/pull/5714)
+- feat(k6): add automated state consistency checking [`#5661`](https://github.com/SeldonIO/seldon-core/pull/5661)
+- Generating changelog for v2.8.3 [`a5989f0`](https://github.com/SeldonIO/seldon-core/commit/a5989f043e4c68fd907864e2d5cffdc4db8d2320)
+- Generating changelog for v2.8.3-rc1 [`346fd1e`](https://github.com/SeldonIO/seldon-core/commit/346fd1e402bee7cfdc595443a7d24ba596953f3a)
+- Setting version for helm charts [`7f07554`](https://github.com/SeldonIO/seldon-core/commit/7f075540677d6b5077136ab6bc4e19ffe672bb52)
+- Setting version for helm charts [`c4795ef`](https://github.com/SeldonIO/seldon-core/commit/c4795ef06226bb5686853aef7f19b040678d045f)
+- Setting version for helm charts [`63da23e`](https://github.com/SeldonIO/seldon-core/commit/63da23e9e2b55e2de731ba0c4d7c9664d625e0c6)
+
+
+[Changes][v2.8.3]
+
+
+
+## [v2.8.2](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.2) - 26 Jun 2024
+
+### Bugs Fixed:
+
+- Pipeline terminating fix on rebalance [`#5703`](https://github.com/SeldonIO/seldon-core/pull/5703)
+- Do not create new KafkaStreams app for existing pipelines [`#5550`](https://github.com/SeldonIO/seldon-core/pull/5550)
+- Handle unload too quick after load [`#5504`](https://github.com/SeldonIO/seldon-core/pull/5504)
+
+### Features:
+
+- Add pipeline version to Kafka headers [`#5493`](https://github.com/SeldonIO/seldon-core/pull/5493)
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.2](https://github.com/SeldonIO/seldon-core/compare/v2.8.1...v2.8.2)
+
+> 26 June 2024
+
+- ci: Merge changes from v2 to release 2.8 branch [`#5705`](https://github.com/SeldonIO/seldon-core/pull/5705)
+- fix(scheduler): Pipeline terminating fix on rebalance [`#5703`](https://github.com/SeldonIO/seldon-core/pull/5703)
+- Bump ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9 in /operator [`#5682`](https://github.com/SeldonIO/seldon-core/pull/5682)
+- Bump ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9 in /hodometer [`#5687`](https://github.com/SeldonIO/seldon-core/pull/5687)
+- Bump github.com/go-logr/logr from 1.4.1 to 1.4.2 in /operator [`#5686`](https://github.com/SeldonIO/seldon-core/pull/5686)
+- Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 in /scheduler [`#5691`](https://github.com/SeldonIO/seldon-core/pull/5691)
+- Bump ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9 in /scheduler [`#5695`](https://github.com/SeldonIO/seldon-core/pull/5695)
+- Bump ubi9/ubi-minimal from 9.4-949.1717074713 to 9.4-1134 in /scheduler [`#5696`](https://github.com/SeldonIO/seldon-core/pull/5696)
+- Bump rclone/rclone from 1.66.0 to 1.67.0 in /scheduler [`#5697`](https://github.com/SeldonIO/seldon-core/pull/5697)
+- Bump ubi9/ubi-minimal in /scheduler [`#5667`](https://github.com/SeldonIO/seldon-core/pull/5667)
+- Bump envoyproxy/envoy from v1.30.1 to v1.30.2 in /scheduler [`#5668`](https://github.com/SeldonIO/seldon-core/pull/5668)
+- Bump go.opentelemetry.io/otel/sdk from 1.26.0 to 1.27.0 in /scheduler [`#5677`](https://github.com/SeldonIO/seldon-core/pull/5677)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5679`](https://github.com/SeldonIO/seldon-core/pull/5679)
+- Bump ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860 in /hodometer [`#5654`](https://github.com/SeldonIO/seldon-core/pull/5654)
+- Bump go.opentelemetry.io/otel/trace from 1.26.0 to 1.27.0 in /scheduler [`#5640`](https://github.com/SeldonIO/seldon-core/pull/5640)
+- Bump grafana/grafana from 10.4.3 to 11.0.0 in /scheduler [`#5644`](https://github.com/SeldonIO/seldon-core/pull/5644)
+- Bump ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860 in /operator [`#5656`](https://github.com/SeldonIO/seldon-core/pull/5656)
+- Bump github.com/hashicorp/go-retryablehttp in /hodometer [`#5657`](https://github.com/SeldonIO/seldon-core/pull/5657)
+- Bump ubi9/ubi-minimal in /scheduler [`#5659`](https://github.com/SeldonIO/seldon-core/pull/5659)
+- Bump ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860 in /scheduler [`#5660`](https://github.com/SeldonIO/seldon-core/pull/5660)
+- bump(deps): major version updates in /scheduler/data-flow [`#5639`](https://github.com/SeldonIO/seldon-core/pull/5639)
+- fix(ansible): allow multiple custom secrets without namespaces [`#5638`](https://github.com/SeldonIO/seldon-core/pull/5638)
+- feat: Add pipelines to core2 qa control plane tests [`#5636`](https://github.com/SeldonIO/seldon-core/pull/5636)
+- test(k6): Add k8s-based control plane tests [`#5609`](https://github.com/SeldonIO/seldon-core/pull/5609)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5627`](https://github.com/SeldonIO/seldon-core/pull/5627)
+- Bump google.golang.org/protobuf from 1.34.0 to 1.34.1 in /scheduler [`#5628`](https://github.com/SeldonIO/seldon-core/pull/5628)
+- Bump grafana/grafana from 10.4.2 to 10.4.3 in /scheduler [`#5611`](https://github.com/SeldonIO/seldon-core/pull/5611)
+- build(ansible): add options to install grafana and dashboards [`#5589`](https://github.com/SeldonIO/seldon-core/pull/5589)
+- fix(deps): Bump org.apache.kafka:kafka-streams-test-utils from 7.6.0-ccs to 7.6.1-ccs in /scheduler/data-flow [`#5538`](https://github.com/SeldonIO/seldon-core/pull/5538)
+- Bump google.golang.org/protobuf from 1.33.0 to 1.34.1 in /operator [`#5590`](https://github.com/SeldonIO/seldon-core/pull/5590)
+- Bump github.com/confluentinc/confluent-kafka-go/v2 in /operator [`#5591`](https://github.com/SeldonIO/seldon-core/pull/5591)
+- Bump github.com/confluentinc/confluent-kafka-go/v2 in /scheduler [`#5596`](https://github.com/SeldonIO/seldon-core/pull/5596)
+- docs: Reference MLServer `infer` deprecation [`#5606`](https://github.com/SeldonIO/seldon-core/pull/5606)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace in /scheduler [`#5595`](https://github.com/SeldonIO/seldon-core/pull/5595)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/v2/kafka/splunkkafka [`#5597`](https://github.com/SeldonIO/seldon-core/pull/5597)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5598`](https://github.com/SeldonIO/seldon-core/pull/5598)
+- Bump ubi9/ubi-minimal from 9.4-949 to 9.4-949.1714662671 in /scheduler [`#5599`](https://github.com/SeldonIO/seldon-core/pull/5599)
+- Bump github.com/prometheus/client_golang in /scheduler [`#5600`](https://github.com/SeldonIO/seldon-core/pull/5600)
+- Bump github.com/hashicorp/go-retryablehttp in /hodometer [`#5601`](https://github.com/SeldonIO/seldon-core/pull/5601)
+- docs: replace references to Seldon Deploy with Seldon Enterprise Platform [`#5551`](https://github.com/SeldonIO/seldon-core/pull/5551)
+- fix(k6): allow k8s CR updates during load test [`#5587`](https://github.com/SeldonIO/seldon-core/pull/5587)
+- feat(k6): add support for k8s loading/unloading of Seldon CRs [`#5563`](https://github.com/SeldonIO/seldon-core/pull/5563)
+- Bump com.michael-bull.kotlin-retry:kotlin-retry in /scheduler/data-flow [`#5537`](https://github.com/SeldonIO/seldon-core/pull/5537)
+- Bump google.golang.org/protobuf from 1.33.0 to 1.34.0 in /scheduler [`#5575`](https://github.com/SeldonIO/seldon-core/pull/5575)
+- Bump ubi9/ubi-micro from 9.3-15 to 9.4-6 in /operator [`#5579`](https://github.com/SeldonIO/seldon-core/pull/5579)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5576`](https://github.com/SeldonIO/seldon-core/pull/5576)
+- Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc [`#5577`](https://github.com/SeldonIO/seldon-core/pull/5577)
+- Bump github.com/prometheus/client_golang in /scheduler [`#5578`](https://github.com/SeldonIO/seldon-core/pull/5578)
+- Bump ubi9/ubi-micro from 9.3-15 to 9.4-6 in /scheduler [`#5581`](https://github.com/SeldonIO/seldon-core/pull/5581)
+- Bump ubi9/ubi-micro from 9.3-15 to 9.4-6 in /hodometer [`#5567`](https://github.com/SeldonIO/seldon-core/pull/5567)
+- Bump ubi9/ubi-minimal from 9.3-1612 to 9.4-949 in /scheduler [`#5580`](https://github.com/SeldonIO/seldon-core/pull/5580)
+- fix(deps): Upgrade sigs.k8s.io/controller-runtime to 0.17.4 [`#5562`](https://github.com/SeldonIO/seldon-core/pull/5562)
+- fix(dataflow): do not create new KafkaStreams app for existing pipelines [`#5550`](https://github.com/SeldonIO/seldon-core/pull/5550)
+- Bump go.opentelemetry.io/otel/sdk from 1.24.0 to 1.26.0 in /scheduler [`#5554`](https://github.com/SeldonIO/seldon-core/pull/5554)
+- Bump github.com/onsi/gomega from 1.32.0 to 1.33.1 in /operator [`#5558`](https://github.com/SeldonIO/seldon-core/pull/5558)
+- Bump github.com/onsi/gomega from 1.32.0 to 1.33.1 in /scheduler [`#5559`](https://github.com/SeldonIO/seldon-core/pull/5559)
+- Bump envoyproxy/envoy from v1.29.3 to v1.30.1 in /scheduler [`#5548`](https://github.com/SeldonIO/seldon-core/pull/5548)
+- fix: Upgrade go 1.21 and golint to 1.57 [`#5556`](https://github.com/SeldonIO/seldon-core/pull/5556)
+- Update CONTRIBUTING.md to add notice on licensing changes and links to previous contributions [`#5555`](https://github.com/SeldonIO/seldon-core/pull/5555)
+- Re-generate license info [`#5528`](https://github.com/SeldonIO/seldon-core/pull/5528)
+- fix: Deal with multi model env vars [`#5527`](https://github.com/SeldonIO/seldon-core/pull/5527)
+- build(ansible): use of local dev images in kind cluster [`#5318`](https://github.com/SeldonIO/seldon-core/pull/5318)
+- build(deps): bump io.grpc:grpc* from 1.62.2 to 1.63.0 in scheduler/dataflow [`#5522`](https://github.com/SeldonIO/seldon-core/pull/5522)
+- Bump google.golang.org/grpc from 1.62.1 to 1.63.2 in /hodometer [`#5516`](https://github.com/SeldonIO/seldon-core/pull/5516)
+- Bump envoyproxy/envoy from v1.29.2 to v1.29.3 in /scheduler [`#5503`](https://github.com/SeldonIO/seldon-core/pull/5503)
+- Bump google.golang.org/grpc from 1.62.1 to 1.63.2 in /operator [`#5514`](https://github.com/SeldonIO/seldon-core/pull/5514)
+- Bump google.golang.org/grpc from 1.62.1 to 1.63.2 in /scheduler [`#5518`](https://github.com/SeldonIO/seldon-core/pull/5518)
+- Bump grafana/grafana from 10.4.1 to 10.4.2 in /scheduler [`#5521`](https://github.com/SeldonIO/seldon-core/pull/5521)
+- feat: Add kube api for k6 scaffolding [`#5494`](https://github.com/SeldonIO/seldon-core/pull/5494)
+- fix: Handle unload too quick after load [`#5504`](https://github.com/SeldonIO/seldon-core/pull/5504)
+- feat(dataflow): Add pipeline version to Kafka headers [`#5493`](https://github.com/SeldonIO/seldon-core/pull/5493)
+- build(dataflow): Add ktlint plugin in Gradle, run formatter, and fix lint issues [`#5491`](https://github.com/SeldonIO/seldon-core/pull/5491)
+- Bump github.com/cenkalti/backoff/v4 from 4.2.1 to 4.3.0 in /scheduler [`#5487`](https://github.com/SeldonIO/seldon-core/pull/5487)
+- Bump github.com/cenkalti/backoff/v4 from 4.2.1 to 4.3.0 in /operator [`#5488`](https://github.com/SeldonIO/seldon-core/pull/5488)
+- build(dataflow): Add missing copyright headers for dataflow engine [`#5490`](https://github.com/SeldonIO/seldon-core/pull/5490)
+- fix(deps): bump kotlin-retry 1.0.9 to 2.0.0 in /scheduler/data-flow [`#5483`](https://github.com/SeldonIO/seldon-core/pull/5483)
+- fix(scheduler): Add unit tests for chainer service [`#5480`](https://github.com/SeldonIO/seldon-core/pull/5480)
+- Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /operator [`#5474`](https://github.com/SeldonIO/seldon-core/pull/5474)
+- Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /scheduler [`#5477`](https://github.com/SeldonIO/seldon-core/pull/5477)
+- Bump grafana/grafana from 10.4.0 to 10.4.1 in /scheduler [`#5473`](https://github.com/SeldonIO/seldon-core/pull/5473)
+- Generating changelog for v2.8.2 [`fedc92c`](https://github.com/SeldonIO/seldon-core/commit/fedc92cc0f244d0b4884ec2cc37d30cec49f3a96)
+- Setting version for helm charts [`eb5acac`](https://github.com/SeldonIO/seldon-core/commit/eb5acacd4e0d099abe3b4f25cf02e9a43233d824)
+- Setting version for yaml manifests [`35c0ee2`](https://github.com/SeldonIO/seldon-core/commit/35c0ee25bf4a9d5c6fa52b90a626ea7c8dfbcbbe)
+- Generating changelog for v2.8.2-rc1 [`af68c18`](https://github.com/SeldonIO/seldon-core/commit/af68c18fad4fbe5af4a88917c270019bccbf7868)
+- Setting version for helm charts [`4d14bdd`](https://github.com/SeldonIO/seldon-core/commit/4d14bdde14c52866472483475b12e9ec18b6ecde)
+
+
+[Changes][v2.8.2]
+
+
+
+## [v1.18.2](https://github.com/SeldonIO/seldon-core/releases/tag/v1.18.2) - 05 Jun 2024
+
+## What's Changed
+* docs(openapi): Use command with file by [@jesse-c](https://github.com/jesse-c) in https://github.com/SeldonIO/seldon-core/pull/5349
+* fix(logging): adserver is very noisy for feedback requests, possibly affecting performance by [@majolo](https://github.com/majolo) in https://github.com/SeldonIO/seldon-core/pull/5351
+* feat(build): use github actions to build docker images by [@RafalSkolasinski](https://github.com/RafalSkolasinski) in https://github.com/SeldonIO/seldon-core/pull/5380
+* fix(build): fix pipeline by [@RafalSkolasinski](https://github.com/RafalSkolasinski) in https://github.com/SeldonIO/seldon-core/pull/5389
+* Create license.yml dummy for v2 by [@sakoush](https://github.com/sakoush) in https://github.com/SeldonIO/seldon-core/pull/5466
+* add licensing update to contributing.md by [@paulb-seldon](https://github.com/paulb-seldon) in https://github.com/SeldonIO/seldon-core/pull/5510
+* Update oss_commits.md by [@paulb-seldon](https://github.com/paulb-seldon) in https://github.com/SeldonIO/seldon-core/pull/5529
+* Feature: support multi hosts in vs by [@ooooona](https://github.com/ooooona) in https://github.com/SeldonIO/seldon-core/pull/5430
+* Removed Seldon Deploy and added Seldon Enterprise Platform where necessary by [@ramonpzg](https://github.com/ramonpzg) in https://github.com/SeldonIO/seldon-core/pull/5552
+* add generated dependencies licence update by [@gsunner](https://github.com/gsunner) in https://github.com/SeldonIO/seldon-core/pull/5637
+* fix(helm): helm-docs installation + version bump by [@RafalSkolasinski](https://github.com/RafalSkolasinski) in https://github.com/SeldonIO/seldon-core/pull/5635
+
+## New Contributors
+* [@ooooona](https://github.com/ooooona) made their first contribution in https://github.com/SeldonIO/seldon-core/pull/5430
+
+**Full Changelog**: https://github.com/SeldonIO/seldon-core/compare/v1.18.1...v1.18.2
+
+[Changes][v1.18.2]
+
+
+
+## [v2.8.1](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.1) - 21 Mar 2024
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.1](https://github.com/SeldonIO/seldon-core/compare/v2.8.0...v2.8.1)
+
+> 21 March 2024
+
+- ci: Merge changes from v2 to release 2.8 branch (for 2.8.1) [`#5470`](https://github.com/SeldonIO/seldon-core/pull/5470)
+- do not mark source in terminate events of old pipelines [`#5469`](https://github.com/SeldonIO/seldon-core/pull/5469)
+- Re-generate license info [`#5468`](https://github.com/SeldonIO/seldon-core/pull/5468)
+- feat(ci): Add license workflow [`#5465`](https://github.com/SeldonIO/seldon-core/pull/5465)
+- ci: Merge changes from v2 to release 2.8 branch (for 2.8.1) [`#5467`](https://github.com/SeldonIO/seldon-core/pull/5467)
+- fix: update 3rd party licenses [`#5462`](https://github.com/SeldonIO/seldon-core/pull/5462)
+- ci: Merge changes from v2 to release 2.8 branch (for 2.8.1) [`#5460`](https://github.com/SeldonIO/seldon-core/pull/5460)
+- fix(dataflow) CVEs related to com.microsoft.azure:adal4j [`#5458`](https://github.com/SeldonIO/seldon-core/pull/5458)
+- Bump ubi9/ubi-micro from 9.3-13 to 9.3-15 in /scheduler [`#5457`](https://github.com/SeldonIO/seldon-core/pull/5457)
+- fix: Add pipelines in stress test [`#5437`](https://github.com/SeldonIO/seldon-core/pull/5437)
+- ci: Merge changes from v2 to release 2.8 branch (for 2.8.1) [`#5436`](https://github.com/SeldonIO/seldon-core/pull/5436)
+- fix(scheduler): Introduce `sendMsg` timeout for grpc streams (scheduler -> controller) [`#5434`](https://github.com/SeldonIO/seldon-core/pull/5434)
+- build(deps): bump dataflow dependency versions [`#5429`](https://github.com/SeldonIO/seldon-core/pull/5429)
+- Bump ubi9/openjdk-17-runtime from 1.17 to 1.18 in /scheduler [`#5401`](https://github.com/SeldonIO/seldon-core/pull/5401)
+- fix(modelgateway): KafkaAdmin error when fetching OIDC token [`#5428`](https://github.com/SeldonIO/seldon-core/pull/5428)
+- fix(modelgateway): kafka topics with correct number of partitions [`#5427`](https://github.com/SeldonIO/seldon-core/pull/5427)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/v2/kafka/splunkkafka [`#5420`](https://github.com/SeldonIO/seldon-core/pull/5420)
+- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /scheduler [`#5421`](https://github.com/SeldonIO/seldon-core/pull/5421)
+- Bump github.com/golang/protobuf from 1.5.3 to 1.5.4 in /scheduler [`#5422`](https://github.com/SeldonIO/seldon-core/pull/5422)
+- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /operator [`#5424`](https://github.com/SeldonIO/seldon-core/pull/5424)
+- Bump rclone/rclone from 1.65.2 to 1.66.0 in /scheduler [`#5410`](https://github.com/SeldonIO/seldon-core/pull/5410)
+- Bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /hodometer [`#5412`](https://github.com/SeldonIO/seldon-core/pull/5412)
+- Bump ubi9/ubi-minimal from 9.3-1552 to 9.3-1612 in /scheduler [`#5409`](https://github.com/SeldonIO/seldon-core/pull/5409)
+- Bump envoyproxy/envoy from v1.29.1 to v1.29.2 in /scheduler [`#5408`](https://github.com/SeldonIO/seldon-core/pull/5408)
+- Bump grafana/grafana from 10.3.3 to 10.4.0 in /scheduler [`#5407`](https://github.com/SeldonIO/seldon-core/pull/5407)
+- Bump ubi9/ubi-micro from 9.3-13 to 9.3-15 in /operator [`#5417`](https://github.com/SeldonIO/seldon-core/pull/5417)
+- Bump ubi9/ubi-micro from 9.3-13 to 9.3-15 in /hodometer [`#5418`](https://github.com/SeldonIO/seldon-core/pull/5418)
+- Bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /scheduler [`#5423`](https://github.com/SeldonIO/seldon-core/pull/5423)
+- Bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /operator [`#5425`](https://github.com/SeldonIO/seldon-core/pull/5425)
+- fix(controller): reload models upon reconnect to the scheduler [`#5411`](https://github.com/SeldonIO/seldon-core/pull/5411)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc [`#5395`](https://github.com/SeldonIO/seldon-core/pull/5395)
+- fix(scheduler): Increase event hub buffer inline with other components [`#5406`](https://github.com/SeldonIO/seldon-core/pull/5406)
+- fix(dataflow): catch all exceptions when creating a KafkaStreams object [`#5405`](https://github.com/SeldonIO/seldon-core/pull/5405)
+- docs(SeldonRuntime): Add an example for overriding PodSpec in SeldonRuntime [`#5404`](https://github.com/SeldonIO/seldon-core/pull/5404)
+- fix: Use mlserver 1.5.0 [`#5403`](https://github.com/SeldonIO/seldon-core/pull/5403)
+- Bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /scheduler [`#5393`](https://github.com/SeldonIO/seldon-core/pull/5393)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5392`](https://github.com/SeldonIO/seldon-core/pull/5392)
+- Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc [`#5394`](https://github.com/SeldonIO/seldon-core/pull/5394)
+- build(envoy): Update envoy version to 1.29.1 [`#5391`](https://github.com/SeldonIO/seldon-core/pull/5391)
+- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /scheduler [`#5396`](https://github.com/SeldonIO/seldon-core/pull/5396)
+- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /hodometer [`#5400`](https://github.com/SeldonIO/seldon-core/pull/5400)
+- fix(build): force update dependency of k8s java-client to fix high CVEs [`#5402`](https://github.com/SeldonIO/seldon-core/pull/5402)
+- build(license): Fix license reference and add license files to Dockerfiles [`#5390`](https://github.com/SeldonIO/seldon-core/pull/5390)
+- fix(dataflow) be more strict about error states on pipeline creation [`#5381`](https://github.com/SeldonIO/seldon-core/pull/5381)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5370`](https://github.com/SeldonIO/seldon-core/pull/5370)
+- Bump google.golang.org/grpc from 1.61.0 to 1.62.0 in /operator [`#5368`](https://github.com/SeldonIO/seldon-core/pull/5368)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5372`](https://github.com/SeldonIO/seldon-core/pull/5372)
+- Bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /hodometer [`#5361`](https://github.com/SeldonIO/seldon-core/pull/5361)
+- Bump go.uber.org/zap from 1.21.0 to 1.27.0 in /operator [`#5369`](https://github.com/SeldonIO/seldon-core/pull/5369)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace in /scheduler [`#5374`](https://github.com/SeldonIO/seldon-core/pull/5374)
+- Generating changelog for v2.8.1 [`942f8c0`](https://github.com/SeldonIO/seldon-core/commit/942f8c0b1c732414c3d431fa655930199facdaef)
+- Generating changelog for v2.8.1-rc1 [`407e693`](https://github.com/SeldonIO/seldon-core/commit/407e693ab1719f80ba07bad12d60327e9130d6b7)
+- Setting version for helm charts [`1f2b242`](https://github.com/SeldonIO/seldon-core/commit/1f2b242bf9a45dc1c26edb7a5797db2bb4e4b47e)
+- Setting version for helm charts [`0219ee5`](https://github.com/SeldonIO/seldon-core/commit/0219ee59e05edc1aac22e06b63152aff6d9da01a)
+- Setting version for helm charts [`7ad640c`](https://github.com/SeldonIO/seldon-core/commit/7ad640c36860036b6bea612c3bb1f2ff5632e491)
+
+
+[Changes][v2.8.1]
+
+
+
+## [v2.8.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.0) - 28 Feb 2024
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.0](https://github.com/SeldonIO/seldon-core/compare/v2.7.0...v2.8.0)
+
+> 28 February 2024
+
+- ci: Merge changes from v2 to release 2.8 branch [`#5379`](https://github.com/SeldonIO/seldon-core/pull/5379)
+- update 3rd party licenses [`#5377`](https://github.com/SeldonIO/seldon-core/pull/5377)
+- fix(gateway): wait for kafka topic creation [`#5359`](https://github.com/SeldonIO/seldon-core/pull/5359)
+- fix(dataflow): wait for kafka topic creation [`#5375`](https://github.com/SeldonIO/seldon-core/pull/5375)
+- build(deps) update dataflow dependencies [`#5360`](https://github.com/SeldonIO/seldon-core/pull/5360)
+- fix(dataflow): handle pipeline errors and clear kafka streams state [`#5358`](https://github.com/SeldonIO/seldon-core/pull/5358)
+- use k8s 1.29.2 in kind [`#5357`](https://github.com/SeldonIO/seldon-core/pull/5357)
+- update Inactive check [`#5355`](https://github.com/SeldonIO/seldon-core/pull/5355)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5327`](https://github.com/SeldonIO/seldon-core/pull/5327)
+- fix(dataflow): set default OTEL_EXPORTER_OTLP_PROTOCOL in compose setup [`#5353`](https://github.com/SeldonIO/seldon-core/pull/5353)
+- Bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /scheduler [`#5326`](https://github.com/SeldonIO/seldon-core/pull/5326)
+- Bump grafana/grafana from 10.3.1 to 10.3.3 in /scheduler [`#5328`](https://github.com/SeldonIO/seldon-core/pull/5328)
+- fix(scheduler): Send server statuses on controller reconnect [`#5350`](https://github.com/SeldonIO/seldon-core/pull/5350)
+- Bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /hodometer [`#5347`](https://github.com/SeldonIO/seldon-core/pull/5347)
+- bump(librdkafka): from v1.9.2 to v2.3.0 [`#5321`](https://github.com/SeldonIO/seldon-core/pull/5321)
+- fix(agent): set context deadline for grpc model server control plane [`#5329`](https://github.com/SeldonIO/seldon-core/pull/5329)
+- fix: Experiments and Models state fixes when reconnecting to scheduler [`#5320`](https://github.com/SeldonIO/seldon-core/pull/5320)
+- enable isotime in the logs [`#5319`](https://github.com/SeldonIO/seldon-core/pull/5319)
+- feat(operator): Expose PodSpec in OverrideSpec for SeldonRuntime [`#5296`](https://github.com/SeldonIO/seldon-core/pull/5296)
+- Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.1 in /scheduler [`#5311`](https://github.com/SeldonIO/seldon-core/pull/5311)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace in /scheduler [`#5312`](https://github.com/SeldonIO/seldon-core/pull/5312)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5310`](https://github.com/SeldonIO/seldon-core/pull/5310)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka [`#5313`](https://github.com/SeldonIO/seldon-core/pull/5313)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5314`](https://github.com/SeldonIO/seldon-core/pull/5314)
+- fix: Add kubectl option to pipeline-tests script [`#5307`](https://github.com/SeldonIO/seldon-core/pull/5307)
+- fix(logging): Update otel and tracing config [`#5291`](https://github.com/SeldonIO/seldon-core/pull/5291)
+- fix: Pipeline state during disconnects [`#5298`](https://github.com/SeldonIO/seldon-core/pull/5298)
+- fix: Connection retries when scheduler restarts for dataflow and controller [`#5292`](https://github.com/SeldonIO/seldon-core/pull/5292)
+- fix(pipelinegateway): Use composite key for Kafka when x-request-id header is specified [`#5275`](https://github.com/SeldonIO/seldon-core/pull/5275)
+- build(deps): Update dataflow dependencies [`#5278`](https://github.com/SeldonIO/seldon-core/pull/5278)
+- add sleep to script [`#5277`](https://github.com/SeldonIO/seldon-core/pull/5277)
+- Bump google.golang.org/grpc from 1.56.3 to 1.61.0 in /components/tls [`#5272`](https://github.com/SeldonIO/seldon-core/pull/5272)
+- Bump github.com/otiai10/copy from 1.7.0 to 1.14.0 in /components/tls [`#5274`](https://github.com/SeldonIO/seldon-core/pull/5274)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /hodometer [`#5270`](https://github.com/SeldonIO/seldon-core/pull/5270)
+- Bump github.com/stretchr/testify from 1.7.0 to 1.8.4 in /hodometer [`#5271`](https://github.com/SeldonIO/seldon-core/pull/5271)
+- Bump github.com/hashicorp/go-retryablehttp in /hodometer [`#5269`](https://github.com/SeldonIO/seldon-core/pull/5269)
+- Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /operator [`#5268`](https://github.com/SeldonIO/seldon-core/pull/5268)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /operator [`#5266`](https://github.com/SeldonIO/seldon-core/pull/5266)
+- Bump emperror.dev/errors from 0.8.0 to 0.8.1 in /operator [`#5265`](https://github.com/SeldonIO/seldon-core/pull/5265)
+- Bump github.com/onsi/gomega from 1.18.1 to 1.31.1 in /operator [`#5267`](https://github.com/SeldonIO/seldon-core/pull/5267)
+- Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.3 in /scheduler [`#5264`](https://github.com/SeldonIO/seldon-core/pull/5264)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /scheduler [`#5263`](https://github.com/SeldonIO/seldon-core/pull/5263)
+- Bump github.com/rs/xid from 1.3.0 to 1.5.0 in /scheduler [`#5261`](https://github.com/SeldonIO/seldon-core/pull/5261)
+- Bump github.com/dgraph-io/badger/v3 in /scheduler [`#5262`](https://github.com/SeldonIO/seldon-core/pull/5262)
+- Bump github.com/onsi/gomega from 1.18.1 to 1.31.1 in /scheduler [`#5256`](https://github.com/SeldonIO/seldon-core/pull/5256)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5258`](https://github.com/SeldonIO/seldon-core/pull/5258)
+- Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc [`#5260`](https://github.com/SeldonIO/seldon-core/pull/5260)
+- Bump github.com/otiai10/copy from 1.7.0 to 1.14.0 in /scheduler [`#5259`](https://github.com/SeldonIO/seldon-core/pull/5259)
+- Bump github.com/fsnotify/fsnotify from 1.5.1 to 1.7.0 in /scheduler [`#5253`](https://github.com/SeldonIO/seldon-core/pull/5253)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5254`](https://github.com/SeldonIO/seldon-core/pull/5254)
+- Bump github.com/google/uuid from 1.4.0 to 1.6.0 in /scheduler [`#5255`](https://github.com/SeldonIO/seldon-core/pull/5255)
+- Bump github.com/envoyproxy/go-control-plane in /scheduler [`#5247`](https://github.com/SeldonIO/seldon-core/pull/5247)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5249`](https://github.com/SeldonIO/seldon-core/pull/5249)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc [`#5250`](https://github.com/SeldonIO/seldon-core/pull/5250)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /operator [`#5244`](https://github.com/SeldonIO/seldon-core/pull/5244)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /scheduler [`#5251`](https://github.com/SeldonIO/seldon-core/pull/5251)
+- Bump github.com/google/uuid from 1.3.1 to 1.6.0 in /hodometer [`#5205`](https://github.com/SeldonIO/seldon-core/pull/5205)
+- Bump github.com/dukex/mixpanel in /hodometer [`#5217`](https://github.com/SeldonIO/seldon-core/pull/5217)
+- Bump github.com/jarcoal/httpmock from 1.0.8 to 1.3.1 in /scheduler [`#5223`](https://github.com/SeldonIO/seldon-core/pull/5223)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka from 0.8.0 to 1.12.0 in /scheduler [`#5228`](https://github.com/SeldonIO/seldon-core/pull/5228)
+- Bump github.com/go-logr/logr from 1.2.3 to 1.4.1 in /operator [`#5235`](https://github.com/SeldonIO/seldon-core/pull/5235)
+- Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.3 in /hodometer [`#5240`](https://github.com/SeldonIO/seldon-core/pull/5240)
+- Bump ubi9/ubi-minimal from 9.3-1361.1699548032 to 9.3-1552 in /scheduler [`#5242`](https://github.com/SeldonIO/seldon-core/pull/5242)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-13 in /operator [`#5233`](https://github.com/SeldonIO/seldon-core/pull/5233)
+- Bump ubi9/ubi-micro from 9.3-9 to 9.3-13 in /hodometer [`#5239`](https://github.com/SeldonIO/seldon-core/pull/5239)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-13 in /scheduler [`#5243`](https://github.com/SeldonIO/seldon-core/pull/5243)
+- Bump github.com/confluentinc/confluent-kafka-go from 1.8.2 to 1.9.2 in /operator [`#5215`](https://github.com/SeldonIO/seldon-core/pull/5215)
+- fix(deps): Upgrade to go.1.20.13 and fix high level CVEs [`#5234`](https://github.com/SeldonIO/seldon-core/pull/5234)
+- feat(ci): dependabot worfklow for v2 [`#5194`](https://github.com/SeldonIO/seldon-core/pull/5194)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-9 in /hodometer [`#5208`](https://github.com/SeldonIO/seldon-core/pull/5208)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /hodometer [`#5216`](https://github.com/SeldonIO/seldon-core/pull/5216)
+- Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /scheduler [`#5229`](https://github.com/SeldonIO/seldon-core/pull/5229)
+- Bump github.com/spf13/cobra from 1.4.0 to 1.8.0 in /operator [`#5220`](https://github.com/SeldonIO/seldon-core/pull/5220)
+- Bump rclone/rclone from 1.65.0 to 1.65.1 in /scheduler [`#5214`](https://github.com/SeldonIO/seldon-core/pull/5214)
+- fix(envoy): add readiness probe to Envoy [`#5158`](https://github.com/SeldonIO/seldon-core/pull/5158)
+- Initial commit to remove finalizer - also fixes name typo to fix SeldonRuntime Ready status for dataflow engine [`#5109`](https://github.com/SeldonIO/seldon-core/pull/5109)
+- fix: Start triton server via bash -c tritonserver instead of just tritonserver [`#5030`](https://github.com/SeldonIO/seldon-core/pull/5030)
+- fix(scheduler): Fix deleting models that are still progressing [`#5143`](https://github.com/SeldonIO/seldon-core/pull/5143)
+- fix(docs): Auto-detected typos [`#5135`](https://github.com/SeldonIO/seldon-core/pull/5135)
+- refactor(crds): Use built-in OpenAPI validation [`#5129`](https://github.com/SeldonIO/seldon-core/pull/5129)
+- fix(docs): Use consistent shell style [`#5133`](https://github.com/SeldonIO/seldon-core/pull/5133)
+- feat(kafka): Add support for SASL OAUTHBEARER mechanism for Kafka [`#5127`](https://github.com/SeldonIO/seldon-core/pull/5127)
+- fix(podmonitor): Pipelinegateway podmonitor label fix [`#5120`](https://github.com/SeldonIO/seldon-core/pull/5120)
+- build(kafka): change message.max.bytes in broker side to align with producer and consumer [`#5126`](https://github.com/SeldonIO/seldon-core/pull/5126)
+- V2D-1253 Use smaller model in demo but still reference bigger one [`#5115`](https://github.com/SeldonIO/seldon-core/pull/5115)
+- test: Ensure agent client starts [`#5112`](https://github.com/SeldonIO/seldon-core/pull/5112)
+- feat(docs): [SCv2] Add a section about loading custom HuggingFace models from Seldon CLI [`#5106`](https://github.com/SeldonIO/seldon-core/pull/5106)
+- build(dataflow): bump grpc-stub and grpc-protobuf to 1.57.2 [`#5110`](https://github.com/SeldonIO/seldon-core/pull/5110)
+- feat(scheduler): Match models requirements for servers not replicas & improve status handling [`#5107`](https://github.com/SeldonIO/seldon-core/pull/5107)
+- Add ns env var for local docker deployments [`#5101`](https://github.com/SeldonIO/seldon-core/pull/5101)
+- feat(docs): [SCv2] Automatically create and upload a custom HF model to seldon-models in GCS on every new MLServer version [`#5103`](https://github.com/SeldonIO/seldon-core/pull/5103)
+- ci(security): Remove linting steps for GHA security workflow [`#5102`](https://github.com/SeldonIO/seldon-core/pull/5102)
+- Generating changelog for v2.8.0 [`946a095`](https://github.com/SeldonIO/seldon-core/commit/946a095ea0d4346b9fab49c2eb3c1ff7eb2e2984)
+- feat: LPL release [`acc55f0`](https://github.com/SeldonIO/seldon-core/commit/acc55f09330f1a40564f7955ba34c8b1bad42840)
+- Generating changelog for v2.8.0-rc1 [`a38a048`](https://github.com/SeldonIO/seldon-core/commit/a38a04804ed1a5d90c59717b7505da12502625b4)
+- Setting version for helm charts [`50f2bdf`](https://github.com/SeldonIO/seldon-core/commit/50f2bdfe2e4810a092846e737ddb28440be0ff74)
+- Setting version for helm charts [`cdd1f3a`](https://github.com/SeldonIO/seldon-core/commit/cdd1f3a759bfa1bceef5f7353ad60936e3a1fa10)
+
+
+[Changes][v2.8.0]
+
+
+
+## [v1.18.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.18.1) - 29 Feb 2024
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.18.1](https://github.com/SeldonIO/seldon-core/compare/v1.18.0...v1.18.1)
+
+> 29 February 2024
+
+- fix pipeline [`#5389`](https://github.com/SeldonIO/seldon-core/pull/5389)
+- feat(build): use github actions to build docker images [`#5380`](https://github.com/SeldonIO/seldon-core/pull/5380)
+- fix(logging): adserver is very noisy for feedback requests, possibly affecting performance [`#5351`](https://github.com/SeldonIO/seldon-core/pull/5351)
+- docs(openapi): Use command with file [`#5349`](https://github.com/SeldonIO/seldon-core/pull/5349)
+- fix(adserver): adserver returns cloudevents compatible response [`#5348`](https://github.com/SeldonIO/seldon-core/pull/5348)
+- fix(docs): Change V2 Inference Protocol to OIP [`#5297`](https://github.com/SeldonIO/seldon-core/pull/5297)
+- fix(docs): Update docs w latest K8s compatibility [`#5295`](https://github.com/SeldonIO/seldon-core/pull/5295)
+- Update README.md [`#5293`](https://github.com/SeldonIO/seldon-core/pull/5293)
+- build(ansible): fix link to minio chart [`#5276`](https://github.com/SeldonIO/seldon-core/pull/5276)
+- feat(ci): dependabot worfklow for v2 [`#5194`](https://github.com/SeldonIO/seldon-core/pull/5194)
+- rewording [`#5192`](https://github.com/SeldonIO/seldon-core/pull/5192)
+- Update index.rst [`#5191`](https://github.com/SeldonIO/seldon-core/pull/5191)
+- Update README.md [`#5190`](https://github.com/SeldonIO/seldon-core/pull/5190)
+- bump versions to 1.19.0-dev [`#7`](https://github.com/SeldonIO/seldon-core/pull/7)
+- Release 1.18.0 [`9771f06`](https://github.com/SeldonIO/seldon-core/commit/9771f06bb5f0380f81531db5a3cb473b7a42e02c)
+
+[Changes][v1.18.1]
+
+
+
+## [v2.8.0-rc2](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.0-rc2) - 27 Feb 2024
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.0-rc2](https://github.com/SeldonIO/seldon-core/compare/v2.8.0-rc1...v2.8.0-rc2)
+
+> 27 February 2024
+
+- ci: Merge changes from v2 to release 2.8 branch [`#5379`](https://github.com/SeldonIO/seldon-core/pull/5379)
+- update 3rd party licenses [`#5377`](https://github.com/SeldonIO/seldon-core/pull/5377)
+- fix(gateway): wait for kafka topic creation [`#5359`](https://github.com/SeldonIO/seldon-core/pull/5359)
+- fix(dataflow): wait for kafka topic creation [`#5375`](https://github.com/SeldonIO/seldon-core/pull/5375)
+- build(deps) update dataflow dependencies [`#5360`](https://github.com/SeldonIO/seldon-core/pull/5360)
+- fix(dataflow): handle pipeline errors and clear kafka streams state [`#5358`](https://github.com/SeldonIO/seldon-core/pull/5358)
+- use k8s 1.29.2 in kind [`#5357`](https://github.com/SeldonIO/seldon-core/pull/5357)
+- update Inactive check [`#5355`](https://github.com/SeldonIO/seldon-core/pull/5355)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5327`](https://github.com/SeldonIO/seldon-core/pull/5327)
+- fix(dataflow): set default OTEL_EXPORTER_OTLP_PROTOCOL in compose setup [`#5353`](https://github.com/SeldonIO/seldon-core/pull/5353)
+- Bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /scheduler [`#5326`](https://github.com/SeldonIO/seldon-core/pull/5326)
+- Bump grafana/grafana from 10.3.1 to 10.3.3 in /scheduler [`#5328`](https://github.com/SeldonIO/seldon-core/pull/5328)
+- fix(scheduler): Send server statuses on controller reconnect [`#5350`](https://github.com/SeldonIO/seldon-core/pull/5350)
+- Bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /hodometer [`#5347`](https://github.com/SeldonIO/seldon-core/pull/5347)
+- bump(librdkafka): from v1.9.2 to v2.3.0 [`#5321`](https://github.com/SeldonIO/seldon-core/pull/5321)
+- Generating changelog for v2.8.0-rc2 [`d2f4375`](https://github.com/SeldonIO/seldon-core/commit/d2f4375ceac57afa3466ef6aef58eef09fab6528)
+- Setting version for helm charts [`cdd1f3a`](https://github.com/SeldonIO/seldon-core/commit/cdd1f3a759bfa1bceef5f7353ad60936e3a1fa10)
+- Setting version for yaml manifests [`89aa658`](https://github.com/SeldonIO/seldon-core/commit/89aa65822887a5c497dfe5e156b65010367e7fd3)
+
+
+[Changes][v2.8.0-rc2]
+
+
+
+## [v2.8.0-rc1](https://github.com/SeldonIO/seldon-core/releases/tag/v2.8.0-rc1) - 20 Feb 2024
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.8.0-rc1](https://github.com/SeldonIO/seldon-core/compare/v2.7.0...v2.8.0-rc1)
+
+> 19 February 2024
+
+- fix(agent): set context deadline for grpc model server control plane [`#5329`](https://github.com/SeldonIO/seldon-core/pull/5329)
+- fix: Experiments and Models state fixes when reconnecting to scheduler [`#5320`](https://github.com/SeldonIO/seldon-core/pull/5320)
+- enable isotime in the logs [`#5319`](https://github.com/SeldonIO/seldon-core/pull/5319)
+- feat(operator): Expose PodSpec in OverrideSpec for SeldonRuntime [`#5296`](https://github.com/SeldonIO/seldon-core/pull/5296)
+- Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.1 in /scheduler [`#5311`](https://github.com/SeldonIO/seldon-core/pull/5311)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace in /scheduler [`#5312`](https://github.com/SeldonIO/seldon-core/pull/5312)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5310`](https://github.com/SeldonIO/seldon-core/pull/5310)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka [`#5313`](https://github.com/SeldonIO/seldon-core/pull/5313)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5314`](https://github.com/SeldonIO/seldon-core/pull/5314)
+- fix: Add kubectl option to pipeline-tests script [`#5307`](https://github.com/SeldonIO/seldon-core/pull/5307)
+- fix(logging): Update otel and tracing config [`#5291`](https://github.com/SeldonIO/seldon-core/pull/5291)
+- fix: Pipeline state during disconnects [`#5298`](https://github.com/SeldonIO/seldon-core/pull/5298)
+- fix: Connection retries when scheduler restarts for dataflow and controller [`#5292`](https://github.com/SeldonIO/seldon-core/pull/5292)
+- fix(pipelinegateway): Use composite key for Kafka when x-request-id header is specified [`#5275`](https://github.com/SeldonIO/seldon-core/pull/5275)
+- build(deps): Update dataflow dependencies [`#5278`](https://github.com/SeldonIO/seldon-core/pull/5278)
+- add sleep to script [`#5277`](https://github.com/SeldonIO/seldon-core/pull/5277)
+- Bump google.golang.org/grpc from 1.56.3 to 1.61.0 in /components/tls [`#5272`](https://github.com/SeldonIO/seldon-core/pull/5272)
+- Bump github.com/otiai10/copy from 1.7.0 to 1.14.0 in /components/tls [`#5274`](https://github.com/SeldonIO/seldon-core/pull/5274)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /hodometer [`#5270`](https://github.com/SeldonIO/seldon-core/pull/5270)
+- Bump github.com/stretchr/testify from 1.7.0 to 1.8.4 in /hodometer [`#5271`](https://github.com/SeldonIO/seldon-core/pull/5271)
+- Bump github.com/hashicorp/go-retryablehttp in /hodometer [`#5269`](https://github.com/SeldonIO/seldon-core/pull/5269)
+- Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /operator [`#5268`](https://github.com/SeldonIO/seldon-core/pull/5268)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /operator [`#5266`](https://github.com/SeldonIO/seldon-core/pull/5266)
+- Bump emperror.dev/errors from 0.8.0 to 0.8.1 in /operator [`#5265`](https://github.com/SeldonIO/seldon-core/pull/5265)
+- Bump github.com/onsi/gomega from 1.18.1 to 1.31.1 in /operator [`#5267`](https://github.com/SeldonIO/seldon-core/pull/5267)
+- Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.3 in /scheduler [`#5264`](https://github.com/SeldonIO/seldon-core/pull/5264)
+- Bump github.com/grpc-ecosystem/go-grpc-middleware in /scheduler [`#5263`](https://github.com/SeldonIO/seldon-core/pull/5263)
+- Bump github.com/rs/xid from 1.3.0 to 1.5.0 in /scheduler [`#5261`](https://github.com/SeldonIO/seldon-core/pull/5261)
+- Bump github.com/dgraph-io/badger/v3 in /scheduler [`#5262`](https://github.com/SeldonIO/seldon-core/pull/5262)
+- Bump github.com/onsi/gomega from 1.18.1 to 1.31.1 in /scheduler [`#5256`](https://github.com/SeldonIO/seldon-core/pull/5256)
+- Bump go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux [`#5258`](https://github.com/SeldonIO/seldon-core/pull/5258)
+- Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc [`#5260`](https://github.com/SeldonIO/seldon-core/pull/5260)
+- Bump github.com/otiai10/copy from 1.7.0 to 1.14.0 in /scheduler [`#5259`](https://github.com/SeldonIO/seldon-core/pull/5259)
+- Bump github.com/fsnotify/fsnotify from 1.5.1 to 1.7.0 in /scheduler [`#5253`](https://github.com/SeldonIO/seldon-core/pull/5253)
+- Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp [`#5254`](https://github.com/SeldonIO/seldon-core/pull/5254)
+- Bump github.com/google/uuid from 1.4.0 to 1.6.0 in /scheduler [`#5255`](https://github.com/SeldonIO/seldon-core/pull/5255)
+- Bump github.com/envoyproxy/go-control-plane in /scheduler [`#5247`](https://github.com/SeldonIO/seldon-core/pull/5247)
+- Bump github.com/go-playground/validator/v10 in /scheduler [`#5249`](https://github.com/SeldonIO/seldon-core/pull/5249)
+- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc [`#5250`](https://github.com/SeldonIO/seldon-core/pull/5250)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /operator [`#5244`](https://github.com/SeldonIO/seldon-core/pull/5244)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /scheduler [`#5251`](https://github.com/SeldonIO/seldon-core/pull/5251)
+- Bump github.com/google/uuid from 1.3.1 to 1.6.0 in /hodometer [`#5205`](https://github.com/SeldonIO/seldon-core/pull/5205)
+- Bump github.com/dukex/mixpanel in /hodometer [`#5217`](https://github.com/SeldonIO/seldon-core/pull/5217)
+- Bump github.com/jarcoal/httpmock from 1.0.8 to 1.3.1 in /scheduler [`#5223`](https://github.com/SeldonIO/seldon-core/pull/5223)
+- Bump github.com/signalfx/splunk-otel-go/instrumentation/github.com/confluentinc/confluent-kafka-go/kafka/splunkkafka from 0.8.0 to 1.12.0 in /scheduler [`#5228`](https://github.com/SeldonIO/seldon-core/pull/5228)
+- Bump github.com/go-logr/logr from 1.2.3 to 1.4.1 in /operator [`#5235`](https://github.com/SeldonIO/seldon-core/pull/5235)
+- Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.3 in /hodometer [`#5240`](https://github.com/SeldonIO/seldon-core/pull/5240)
+- Bump ubi9/ubi-minimal from 9.3-1361.1699548032 to 9.3-1552 in /scheduler [`#5242`](https://github.com/SeldonIO/seldon-core/pull/5242)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-13 in /operator [`#5233`](https://github.com/SeldonIO/seldon-core/pull/5233)
+- Bump ubi9/ubi-micro from 9.3-9 to 9.3-13 in /hodometer [`#5239`](https://github.com/SeldonIO/seldon-core/pull/5239)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-13 in /scheduler [`#5243`](https://github.com/SeldonIO/seldon-core/pull/5243)
+- Bump github.com/confluentinc/confluent-kafka-go from 1.8.2 to 1.9.2 in /operator [`#5215`](https://github.com/SeldonIO/seldon-core/pull/5215)
+- fix(deps): Upgrade to go.1.20.13 and fix high level CVEs [`#5234`](https://github.com/SeldonIO/seldon-core/pull/5234)
+- feat(ci): dependabot worfklow for v2 [`#5194`](https://github.com/SeldonIO/seldon-core/pull/5194)
+- Bump ubi9/ubi-micro from 9.3-6 to 9.3-9 in /hodometer [`#5208`](https://github.com/SeldonIO/seldon-core/pull/5208)
+- Bump google.golang.org/grpc from 1.59.0 to 1.61.0 in /hodometer [`#5216`](https://github.com/SeldonIO/seldon-core/pull/5216)
+- Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /scheduler [`#5229`](https://github.com/SeldonIO/seldon-core/pull/5229)
+- Bump github.com/spf13/cobra from 1.4.0 to 1.8.0 in /operator [`#5220`](https://github.com/SeldonIO/seldon-core/pull/5220)
+- Bump rclone/rclone from 1.65.0 to 1.65.1 in /scheduler [`#5214`](https://github.com/SeldonIO/seldon-core/pull/5214)
+- fix(envoy): add readiness probe to Envoy [`#5158`](https://github.com/SeldonIO/seldon-core/pull/5158)
+- Initial commit to remove finalizer - also fixes name typo to fix SeldonRuntime Ready status for dataflow engine [`#5109`](https://github.com/SeldonIO/seldon-core/pull/5109)
+- fix: Start triton server via bash -c tritonserver instead of just tritonserver [`#5030`](https://github.com/SeldonIO/seldon-core/pull/5030)
+- fix(scheduler): Fix deleting models that are still progressing [`#5143`](https://github.com/SeldonIO/seldon-core/pull/5143)
+- fix(docs): Auto-detected typos [`#5135`](https://github.com/SeldonIO/seldon-core/pull/5135)
+- refactor(crds): Use built-in OpenAPI validation [`#5129`](https://github.com/SeldonIO/seldon-core/pull/5129)
+- fix(docs): Use consistent shell style [`#5133`](https://github.com/SeldonIO/seldon-core/pull/5133)
+- feat(kafka): Add support for SASL OAUTHBEARER mechanism for Kafka [`#5127`](https://github.com/SeldonIO/seldon-core/pull/5127)
+- fix(podmonitor): Pipelinegateway podmonitor label fix [`#5120`](https://github.com/SeldonIO/seldon-core/pull/5120)
+- build(kafka): change message.max.bytes in broker side to align with producer and consumer [`#5126`](https://github.com/SeldonIO/seldon-core/pull/5126)
+- V2D-1253 Use smaller model in demo but still reference bigger one [`#5115`](https://github.com/SeldonIO/seldon-core/pull/5115)
+- test: Ensure agent client starts [`#5112`](https://github.com/SeldonIO/seldon-core/pull/5112)
+- feat(docs): [SCv2] Add a section about loading custom HuggingFace models from Seldon CLI [`#5106`](https://github.com/SeldonIO/seldon-core/pull/5106)
+- build(dataflow): bump grpc-stub and grpc-protobuf to 1.57.2 [`#5110`](https://github.com/SeldonIO/seldon-core/pull/5110)
+- feat(scheduler): Match models requirements for servers not replicas & improve status handling [`#5107`](https://github.com/SeldonIO/seldon-core/pull/5107)
+- Add ns env var for local docker deployments [`#5101`](https://github.com/SeldonIO/seldon-core/pull/5101)
+- feat(docs): [SCv2] Automatically create and upload a custom HF model to seldon-models in GCS on every new MLServer version [`#5103`](https://github.com/SeldonIO/seldon-core/pull/5103)
+- ci(security): Remove linting steps for GHA security workflow [`#5102`](https://github.com/SeldonIO/seldon-core/pull/5102)
+- Generating changelog for v2.8.0-rc1 [`477996d`](https://github.com/SeldonIO/seldon-core/commit/477996d523b60a8e0dab291c1624156657ff7869)
+- feat: LPL release [`acc55f0`](https://github.com/SeldonIO/seldon-core/commit/acc55f09330f1a40564f7955ba34c8b1bad42840)
+- Setting version for helm charts [`adab378`](https://github.com/SeldonIO/seldon-core/commit/adab378f6296eacec8b1ac11e0ebe3b6eb706654)
+- Setting version for yaml manifests [`6b4ab11`](https://github.com/SeldonIO/seldon-core/commit/6b4ab11ea643772e57b7275e7e77b76e34ae71f3)
+
+
+[Changes][v2.8.0-rc1]
+
+
+
+## [v1.18.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.18.0) - 22 Jan 2024
+
+Release 1.18.0
+
+- build(license): Change license to BSL 1.1 ([read announcement](https://www.seldon.io/strengthening-our-commitment-to-open-core))
+- fix(CVEs): Fix Critical CVEs in Operator & Executor
+- fix(CVEs): Fix Critical CVEs in MLFlow Server
+- fix(CVEs): Fix Critical CVEs in Rclone Storage Initializer
+- fix(CVEs): Fix Critical CVEs in Alibi Explain & Alibi Detect Servers
+- fix(CVEs): Fix Critical CVEs in TFServing Proxy
+- feat(alibi-detect-server): Make Alibi Detect artifact folder configurable
+- build(controller): Update to latest version of controller-runtime
+- fix(Operator & Executor): Upgrade to UBI9 and use as default image
+- fix(MLFlow Server): Fix permission issue in s2i wrapper image
+- fix(MLFlow Server): Upgrade MLFlow to 2.9.2
+- fix(Alibi Servers): Upgrade transformers dependency to 4.36.2
+- fix(Alibi Explain Server): Check-in alibi explain protos into VCS
+- fix(examples): Fix MLFlow model uri in server examples
+- build(docs): Misc docs build / lint improvements
+- build(docs): Re-generate OIP v2 README
+- build(docs): Use reproducible requirements.txt
+- fix(docs): Correct various issues for `linkcheck` target
+- fix(docs): Add to-do to match existing approach in other repositories
+- fix(docs): Add missing scalar types
+- fix(docs): Correct links and spelling mistakes
+- fix(docs): Generate missing code cell IDs
+- fix(docs): Upgrade packages
+- fix(docs): Add missing 1.17.x mentions
+- fix(docs): Suppress valid reference warnings
+
+[Changes][v1.18.0]
+
+
+
+## [v2.7.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.7.0) - 22 Jan 2024
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.7.0](https://github.com/SeldonIO/seldon-core/compare/v2.6.0...v2.7.0)
+
+> 22 January 2024
+
+- build(license): Change license to BSL 1.1 ([read announcement](https://www.seldon.io/strengthening-our-commitment-to-open-core))
+- fix(envoy): add readiness probe to Envoy [`#5158`](https://github.com/SeldonIO/seldon-core/pull/5158)
+- Initial commit to remove finalizer - also fixes name typo to fix SeldonRuntime Ready status for dataflow engine [`#5109`](https://github.com/SeldonIO/seldon-core/pull/5109)
+- fix: Start triton server via bash -c tritonserver instead of just tritonserver [`#5030`](https://github.com/SeldonIO/seldon-core/pull/5030)
+- fix(scheduler): Fix deleting models that are still progressing [`#5143`](https://github.com/SeldonIO/seldon-core/pull/5143)
+- fix(docs): Auto-detected typos [`#5135`](https://github.com/SeldonIO/seldon-core/pull/5135)
+- refactor(crds): Use built-in OpenAPI validation [`#5129`](https://github.com/SeldonIO/seldon-core/pull/5129)
+- fix(docs): Use consistent shell style [`#5133`](https://github.com/SeldonIO/seldon-core/pull/5133)
+- feat(kafka): Add support for SASL OAUTHBEARER mechanism for Kafka [`#5127`](https://github.com/SeldonIO/seldon-core/pull/5127)
+- fix(podmonitor): Pipelinegateway podmonitor label fix [`#5120`](https://github.com/SeldonIO/seldon-core/pull/5120)
+- build(kafka): change message.max.bytes in broker side to align with producer and consumer [`#5126`](https://github.com/SeldonIO/seldon-core/pull/5126)
+- V2D-1253 Use smaller model in demo but still reference bigger one [`#5115`](https://github.com/SeldonIO/seldon-core/pull/5115)
+- test: Ensure agent client starts [`#5112`](https://github.com/SeldonIO/seldon-core/pull/5112)
+- feat(docs): [SCv2] Add a section about loading custom HuggingFace models from Seldon CLI [`#5106`](https://github.com/SeldonIO/seldon-core/pull/5106)
+- build(dataflow): bump grpc-stub and grpc-protobuf to 1.57.2 [`#5110`](https://github.com/SeldonIO/seldon-core/pull/5110)
+- feat(scheduler): Match models requirements for servers not replicas & improve status handling [`#5107`](https://github.com/SeldonIO/seldon-core/pull/5107)
+- feat(docs): [SCv2] Automatically create and upload a custom HF model to seldon-models in GCS on every new MLServer version [`#5103`](https://github.com/SeldonIO/seldon-core/pull/5103)
+- ci(security): Remove linting steps for GHA security workflow [`#5102`](https://github.com/SeldonIO/seldon-core/pull/5102)
+- Add ns env var for local docker deployments [`#5101`](https://github.com/SeldonIO/seldon-core/pull/5101)
+- remove timoeut in envoy [`#5099`](https://github.com/SeldonIO/seldon-core/pull/5099)
+- feat: Allow kafka consumer group id prefix configuration [`#5072`](https://github.com/SeldonIO/seldon-core/pull/5072)
+- fix(scheduler): Manual trigger envoy update [`#5074`](https://github.com/SeldonIO/seldon-core/pull/5074)
+- feat(scheduler): Report lack of dataflow engines in pipeline statuses [`#5080`](https://github.com/SeldonIO/seldon-core/pull/5080)
+- adding sphinx-youtube extension and embedding intro video [`#5065`](https://github.com/SeldonIO/seldon-core/pull/5065)
+- fix(docs): add note that Basic tier in Event Hub does not support Kafka protocol [`#5018`](https://github.com/SeldonIO/seldon-core/pull/5018)
+- fix(operator): consistent pod service monitors reconcilor app labels [`#5073`](https://github.com/SeldonIO/seldon-core/pull/5073)
+- ci(github): Add GitHub PR template for Core v2 [`#5081`](https://github.com/SeldonIO/seldon-core/pull/5081)
+- fix(docs): typo in pipeline page [`#5056`](https://github.com/SeldonIO/seldon-core/pull/5056)
+- fix(manifests): rename components to allow install along core v1 [`#5055`](https://github.com/SeldonIO/seldon-core/pull/5055)
+- fix: Allow number of replicas in k6 tests [`#5053`](https://github.com/SeldonIO/seldon-core/pull/5053)
+- Add kafka producer compression example for configuration customization [`#5044`](https://github.com/SeldonIO/seldon-core/pull/5044)
+- Allow digits in topic prefix [`#5051`](https://github.com/SeldonIO/seldon-core/pull/5051)
+- fix(docs): Fix various broken links in docs [`#5047`](https://github.com/SeldonIO/seldon-core/pull/5047)
+- fix: hodometer enable flag and docs [`#5025`](https://github.com/SeldonIO/seldon-core/pull/5025)
+- fix helm docs runtime name typo [`#5019`](https://github.com/SeldonIO/seldon-core/pull/5019)
+- feat(helm): Make SeldonConfig configurable in SeldonRuntime Helm chart [`#5014`](https://github.com/SeldonIO/seldon-core/pull/5014)
+- Generating changelog for v2.7.0 [`227ed04`](https://github.com/SeldonIO/seldon-core/commit/227ed04eb2d6ae5c4d28369fd67a5f03c41b9a80)
+- feat: LPL release [`7a83250`](https://github.com/SeldonIO/seldon-core/commit/7a8325018bf323702dc6ef01594db5177c112c3d)
+- Generating changelog for v2.7.0-rc1 [`108d38d`](https://github.com/SeldonIO/seldon-core/commit/108d38dd625299923946616c62abb5aa678f9a9c)
+- Setting version for helm charts [`3d64cc5`](https://github.com/SeldonIO/seldon-core/commit/3d64cc57ea5d41551f8e21a240875bc9d1d9681b)
+- Setting version for yaml manifests [`4bd4b18`](https://github.com/SeldonIO/seldon-core/commit/4bd4b187adc256d125200bf73cfdbcf6a3c58057)
+
+
+[Changes][v2.7.0]
+
+
+
+## [v2.7.0-rc1](https://github.com/SeldonIO/seldon-core/releases/tag/v2.7.0-rc1) - 25 Aug 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.7.0-rc1](https://github.com/SeldonIO/seldon-core/compare/v2.6.0...v2.7.0-rc1)
+
+> 21 August 2023
+
+- remove timoeut in envoy [`#5099`](https://github.com/SeldonIO/seldon-core/pull/5099)
+- feat: Allow kafka consumer group id prefix configuration [`#5072`](https://github.com/SeldonIO/seldon-core/pull/5072)
+- fix(scheduler): Manual trigger envoy update [`#5074`](https://github.com/SeldonIO/seldon-core/pull/5074)
+- feat(scheduler): Report lack of dataflow engines in pipeline statuses [`#5080`](https://github.com/SeldonIO/seldon-core/pull/5080)
+- adding sphinx-youtube extension and embedding intro video [`#5065`](https://github.com/SeldonIO/seldon-core/pull/5065)
+- fix(docs): add note that Basic tier in Event Hub does not support Kafka protocol [`#5018`](https://github.com/SeldonIO/seldon-core/pull/5018)
+- fix(operator): consistent pod service monitors reconcilor app labels [`#5073`](https://github.com/SeldonIO/seldon-core/pull/5073)
+- ci(github): Add GitHub PR template for Core v2 [`#5081`](https://github.com/SeldonIO/seldon-core/pull/5081)
+- fix(docs): typo in pipeline page [`#5056`](https://github.com/SeldonIO/seldon-core/pull/5056)
+- fix(manifests): rename components to allow install along core v1 [`#5055`](https://github.com/SeldonIO/seldon-core/pull/5055)
+- fix: Allow number of replicas in k6 tests [`#5053`](https://github.com/SeldonIO/seldon-core/pull/5053)
+- Add kafka producer compression example for configuration customization [`#5044`](https://github.com/SeldonIO/seldon-core/pull/5044)
+- Allow digits in topic prefix [`#5051`](https://github.com/SeldonIO/seldon-core/pull/5051)
+- fix(docs): Fix various broken links in docs [`#5047`](https://github.com/SeldonIO/seldon-core/pull/5047)
+- fix: hodometer enable flag and docs [`#5025`](https://github.com/SeldonIO/seldon-core/pull/5025)
+- fix helm docs runtime name typo [`#5019`](https://github.com/SeldonIO/seldon-core/pull/5019)
+- feat(helm): Make SeldonConfig configurable in SeldonRuntime Helm chart [`#5014`](https://github.com/SeldonIO/seldon-core/pull/5014)
+- Generating changelog for v2.7.0-rc1 [`cf6fc83`](https://github.com/SeldonIO/seldon-core/commit/cf6fc83561d6f57a42ee0cb0e6eef7dbbdf6c76e)
+- Setting version for yaml manifests [`4bd4b18`](https://github.com/SeldonIO/seldon-core/commit/4bd4b187adc256d125200bf73cfdbcf6a3c58057)
+- Setting version for helm charts [`30bcd42`](https://github.com/SeldonIO/seldon-core/commit/30bcd42fba0531792aec268aba7526dcb9aa716e)
+
+
+[Changes][v2.7.0-rc1]
+
+
+
+## [v1.17.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.17.1) - 17 Aug 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.17.1](https://seldonio/seldonio/seldon-core/compare/v1.17.0...v1.17.1)
+
+> 15 August 2023
+
+- Fix issue with RANDOM_ABTEST [`#5090`](https://seldonio/seldonio/seldon-core/pull/5090)
+- Allow init containers if modelUri provided [`#5059`](https://seldonio/seldonio/seldon-core/pull/5059)
+- Address cryptography CVE [`#5070`](https://seldonio/seldonio/seldon-core/pull/5070)
+- Bump requirements for integration tests [`#5058`](https://seldonio/seldonio/seldon-core/pull/5058)
+- fix: relax pyyaml version range to allow install with new Cython 3. [`#5034`](https://seldonio/seldonio/seldon-core/pull/5034)
+- Bump version to 1.17.1 [`8869f37`](https://seldonio/seldonio/seldon-core/commit/8869f3733e8bf1cdc464965a526c061efb133fae)
+- Generate changelog [`a390721`](https://seldonio/seldonio/seldon-core/commit/a39072138b7d6e8e0eeab8c19bcddb0646cd7b0e)
+- Re-generated Helm chart docs [`6265781`](https://seldonio/seldonio/seldon-core/commit/626578143c150ecb73a87e963ca73156e8cd870f)
+
+
+[Changes][v1.17.1]
+
+
+
+## [v1.17.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.17.0) - 13 Jul 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.17.0](https://seldonio/seldonio/seldon-core/compare/v1.16.0...v1.17.0)
+
+> 12 July 2023
+
+- Updating Alibi Explain & Detect [`#5016`](https://seldonio/seldonio/seldon-core/pull/5016)
+- Fix build of GPU image [`#5015`](https://seldonio/seldonio/seldon-core/pull/5015)
+- Fix 3.7 build [`#5011`](https://seldonio/seldonio/seldon-core/pull/5011)
+- Remove Python 3.6 s2i wrapper [`#5007`](https://seldonio/seldonio/seldon-core/pull/5007)
+- upgrading to python 3.8 [`#4910`](https://seldonio/seldonio/seldon-core/pull/4910)
+- Bump MLServer to 1.3.5 (v1) [`#4974`](https://seldonio/seldonio/seldon-core/pull/4974)
+- bump google.golang.org/grpc library version [`#4996`](https://seldonio/seldonio/seldon-core/pull/4996)
+- fix(adserver): introduce counter type metrics for drift [`#4984`](https://seldonio/seldonio/seldon-core/pull/4984)
+- Fix Alibi CVEs [`#4960`](https://seldonio/seldonio/seldon-core/pull/4960)
+- Remove deprecated storage initialiser [`#4961`](https://seldonio/seldonio/seldon-core/pull/4961)
+- Bump MLflow to 2.4.1 [`#4957`](https://seldonio/seldonio/seldon-core/pull/4957)
+- Update go-restful [`#4956`](https://seldonio/seldonio/seldon-core/pull/4956)
+- Update image version in security pipeline [`#4954`](https://seldonio/seldonio/seldon-core/pull/4954)
+- Update Alibi and Alibi-Detect versions and bump servers to Python 3.8 [`#4912`](https://seldonio/seldonio/seldon-core/pull/4912)
+- Bump MLServer to 1.3.4 (v1) [`#4925`](https://seldonio/seldonio/seldon-core/pull/4925)
+- Fix reconcile diffs found on hpa/keda updates [`#4924`](https://seldonio/seldonio/seldon-core/pull/4924)
+- Bump MLServer to 1.3.3 (v1) [`#4879`](https://seldonio/seldonio/seldon-core/pull/4879)
+- good first issue for knative readme [`#4886`](https://seldonio/seldonio/seldon-core/pull/4886)
+- docs(examples/transformers): Update mlserver version and fix broken links in custom preprocessors example [`#4876`](https://seldonio/seldonio/seldon-core/pull/4876)
+- removing alpha messaging from index pages [`#4868`](https://seldonio/seldonio/seldon-core/pull/4868)
+- Add PITS Global Data Recovery Services to the list of adopters [`#4866`](https://seldonio/seldonio/seldon-core/pull/4866)
+- V1: Add K8s compatibility matrix to installation page [`#4862`](https://seldonio/seldonio/seldon-core/pull/4862)
+- Fix Alibi Explainer tests [`#4835`](https://seldonio/seldonio/seldon-core/pull/4835)
+- Bump MLServer to 1.3.2 (V1) [`#4808`](https://seldonio/seldonio/seldon-core/pull/4808)
+- Delete request-logger path [`#4812`](https://seldonio/seldonio/seldon-core/pull/4812)
+- allow spec provided prod security context to take precendence [`#4742`](https://seldonio/seldonio/seldon-core/pull/4742)
+- Update openshift.md [`#4826`](https://seldonio/seldonio/seldon-core/pull/4826)
+- Bump master to 1.17.0-dev [`#4806`](https://seldonio/seldonio/seldon-core/pull/4806)
+- Added note about Preflight requirement to OpenShift docs [`#4802`](https://seldonio/seldonio/seldon-core/pull/4802)
+- Re-generate licenses for python [`fb01287`](https://seldonio/seldonio/seldon-core/commit/fb01287431d9799cf575fc736360c236360d2806)
+- Bump version to 1.17.0 [`5f3687e`](https://seldonio/seldonio/seldon-core/commit/5f3687efa4d3434036b6a65177bfacf5bb3beebb)
+- Update licenses for operator and executor [`51a7466`](https://seldonio/seldonio/seldon-core/commit/51a7466a071b24b83f7d3663afc6a0ca71a48d8a)
+
+
+[Changes][v1.17.0]
+
+
+
+## [v2.6.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.6.0) - 11 Jul 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.6.0](https://github.com/SeldonIO/seldon-core/compare/v2.5.0...v2.6.0)
+
+> 11 July 2023
+
+- misc fixes for copyright, licenses and integration tests [`#5012`](https://github.com/SeldonIO/seldon-core/pull/5012)
+- misc fixes - runtime enabe.disable, hodometer Makefile, mlserver tracing config [`#5010`](https://github.com/SeldonIO/seldon-core/pull/5010)
+- fix: runtime tracing config value in helm chart should be disable [`#5009`](https://github.com/SeldonIO/seldon-core/pull/5009)
+- fix: Update go and other base images [`#5006`](https://github.com/SeldonIO/seldon-core/pull/5006)
+- fix(scheduler): Add >0 replica check for server filter scheduling [`#4928`](https://github.com/SeldonIO/seldon-core/pull/4928)
+- fix: Disable default logging for Kafka in Ansible Playbooks [`#4990`](https://github.com/SeldonIO/seldon-core/pull/4990)
+- Add missing configmap ownership watch for manager [`#4987`](https://github.com/SeldonIO/seldon-core/pull/4987)
+- fix: Change tracing to disable rather than enable flag [`#4997`](https://github.com/SeldonIO/seldon-core/pull/4997)
+- Enable MLServer tracing for Docker and Ansible installations [`#4989`](https://github.com/SeldonIO/seldon-core/pull/4989)
+- build(mlserver): bump MLServer to 1.3.5 [`#4972`](https://github.com/SeldonIO/seldon-core/pull/4972)
+- feat: Allow disabling of reconciles when config CRDs change [`#4941`](https://github.com/SeldonIO/seldon-core/pull/4941)
+- use current user and group id in compose [`#4979`](https://github.com/SeldonIO/seldon-core/pull/4979)
+- docs(rclone): Update storage secrets docs with expectations and details on usage [`#4969`](https://github.com/SeldonIO/seldon-core/pull/4969)
+- rerun core v2 examples and generate markdown [`#4971`](https://github.com/SeldonIO/seldon-core/pull/4971)
+- feat(Server): Add Server capabilities that will overrride ServerConfig capabilities [`#4975`](https://github.com/SeldonIO/seldon-core/pull/4975)
+- fix(agent): Fix for agent leaking Rclone storage secrets via logs [`#4967`](https://github.com/SeldonIO/seldon-core/pull/4967)
+- fix(kafka): Fix kafka credentials leaked into logs in Go components [`#4966`](https://github.com/SeldonIO/seldon-core/pull/4966)
+- Fix typo [`#4965`](https://github.com/SeldonIO/seldon-core/pull/4965)
+- remove last applied annotation in operator when adding annotations [`#4963`](https://github.com/SeldonIO/seldon-core/pull/4963)
+- Update 3rd party licenses [`#4959`](https://github.com/SeldonIO/seldon-core/pull/4959)
+- fix: ansible for new helm charts [`#4958`](https://github.com/SeldonIO/seldon-core/pull/4958)
+- Fix prep artifacts for git action for draft release [`#4955`](https://github.com/SeldonIO/seldon-core/pull/4955)
+- feat: One side TLS for Kafka [`#4916`](https://github.com/SeldonIO/seldon-core/pull/4916)
+- fix: Only create kafka config once in model gateway [`#4940`](https://github.com/SeldonIO/seldon-core/pull/4940)
+- use python3 in k6 builder image [`#4946`](https://github.com/SeldonIO/seldon-core/pull/4946)
+- fix: Fix test logic, get rid of k6 warning [`#4945`](https://github.com/SeldonIO/seldon-core/pull/4945)
+- Dix dataflow disable bug and update notebooks for clusterwide [`#4938`](https://github.com/SeldonIO/seldon-core/pull/4938)
+- fix: Allow config CRD changes to cause a reconcilliation loop for dependent (but not owned) resources [`#4937`](https://github.com/SeldonIO/seldon-core/pull/4937)
+- build(v2): Bump MLServer to 1.3.4 (v2) [`#4926`](https://github.com/SeldonIO/seldon-core/pull/4926)
+- fix: server can be return as nil when not found causing panics [`#4934`](https://github.com/SeldonIO/seldon-core/pull/4934)
+- Update default tracing config to use ratio as strings [`#4933`](https://github.com/SeldonIO/seldon-core/pull/4933)
+- feat(operator): Cluster wide operator for V2 [`#4847`](https://github.com/SeldonIO/seldon-core/pull/4847)
+- Make rclone config_secrets configurable in values.yaml [`#4915`](https://github.com/SeldonIO/seldon-core/pull/4915)
+- fix: Update README.md for k6 tests [`#4921`](https://github.com/SeldonIO/seldon-core/pull/4921)
+- Rename inference protocol [`#4919`](https://github.com/SeldonIO/seldon-core/pull/4919)
+- test: create initial Integration tests [`#4895`](https://github.com/SeldonIO/seldon-core/pull/4895)
+- build(v2): Bump MLServer to 1.3.3 [`#4900`](https://github.com/SeldonIO/seldon-core/pull/4900)
+- Add note about vCPU compatibility [`#4901`](https://github.com/SeldonIO/seldon-core/pull/4901)
+- Docs for aws msk sasl/scram support for corev2 [`#4877`](https://github.com/SeldonIO/seldon-core/pull/4877)
+- Revert "Bump MLServer to 1.3.3 (v2)" [`#4897`](https://github.com/SeldonIO/seldon-core/pull/4897)
+- fix link [`#4875`](https://github.com/SeldonIO/seldon-core/pull/4875)
+- build(lint): Add gci linter for consistent import ordering in Go modules [`#4894`](https://github.com/SeldonIO/seldon-core/pull/4894)
+- ci: Add CI workflow ensuring PR titles conform to Conventional Commit format [`#4891`](https://github.com/SeldonIO/seldon-core/pull/4891)
+- Bump MLServer to 1.3.3 (v2) [`#4880`](https://github.com/SeldonIO/seldon-core/pull/4880)
+- Filter steps by pipeline header for CLI pipeline inspect [`#4883`](https://github.com/SeldonIO/seldon-core/pull/4883)
+- Fix deletion of model in cases of `ModeFailed` and `ScheduleFailed` with server disconnects [`#4882`](https://github.com/SeldonIO/seldon-core/pull/4882)
+- add azure event hub kafka notes [`#4874`](https://github.com/SeldonIO/seldon-core/pull/4874)
+- Surface errors during reconcilliation for Servers [`#4824`](https://github.com/SeldonIO/seldon-core/pull/4824)
+- removing alpha messaging from FAQ [`#4869`](https://github.com/SeldonIO/seldon-core/pull/4869)
+- update envoy and go-control-plane and fix deprecations [`#4872`](https://github.com/SeldonIO/seldon-core/pull/4872)
+- fix link [`#4864`](https://github.com/SeldonIO/seldon-core/pull/4864)
+- Revert "Bump Envoy to 1.26.1 and Go Control Plane to 0.11.0 ([#4833](https://github.com/SeldonIO/seldon-core/issues/4833))" [`#4867`](https://github.com/SeldonIO/seldon-core/pull/4867)
+- documentation(Kafka): Add docs on Confluent Kafka integration [`#4853`](https://github.com/SeldonIO/seldon-core/pull/4853)
+- Add a macOS m1 specific build target for seldon client [`#4838`](https://github.com/SeldonIO/seldon-core/pull/4838)
+- Fix typo in doc [`#4848`](https://github.com/SeldonIO/seldon-core/pull/4848)
+- Bump Envoy to 1.26.1 and Go Control Plane to 0.11.0 [`#4833`](https://github.com/SeldonIO/seldon-core/pull/4833)
+- Add mermaid diagrams to pipeline docs page [`#4837`](https://github.com/SeldonIO/seldon-core/pull/4837)
+- build(install): Generate plain YAML manifests from Helm templates [`#4843`](https://github.com/SeldonIO/seldon-core/pull/4843)
+- Redo typo fix w/o vim noeol linting [`#4846`](https://github.com/SeldonIO/seldon-core/pull/4846)
+- remove mlserver from path in local model docs [`#4852`](https://github.com/SeldonIO/seldon-core/pull/4852)
+- add imagepullsecrets [`#4820`](https://github.com/SeldonIO/seldon-core/pull/4820)
+- Generating changelog for v2.6.0 [`fe0499e`](https://github.com/SeldonIO/seldon-core/commit/fe0499e8098fcfab3a6a8b2cfde96093851b96b6)
+- Setting version for yaml manifests [`41d1132`](https://github.com/SeldonIO/seldon-core/commit/41d1132401af7617556c349eefd8c9fe426cc7b5)
+- Setting version for helm charts [`63634d7`](https://github.com/SeldonIO/seldon-core/commit/63634d79c62178b7016f7ac0d58a19233cff2b67)
+
+
+[Changes][v2.6.0]
+
+
+
+## [v2.5.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.5.0) - 16 May 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.5.0](https://github.com/SeldonIO/seldon-core/compare/v2.4.0...v2.5.0)
+
+> 15 May 2023
+
+- Update copyright and licenses and fix missing local java sasl mechanism setting in local.properties [`#4844`](https://github.com/SeldonIO/seldon-core/pull/4844)
+- feat(samples): change kernel shap explainer link function to identity [`#4845`](https://github.com/SeldonIO/seldon-core/pull/4845)
+- feat(kafka): add support for SASL with PLAIN mechanism [`#4831`](https://github.com/SeldonIO/seldon-core/pull/4831)
+- Use release namespace for configmaps in setup helm chart [`#4832`](https://github.com/SeldonIO/seldon-core/pull/4832)
+- release(documentation): add compilation of commands to tag go packages [`#4817`](https://github.com/SeldonIO/seldon-core/pull/4817)
+- Remove librpmio and bump ubi-minimal image [`#4840`](https://github.com/SeldonIO/seldon-core/pull/4840)
+- k6 fixes [`#4841`](https://github.com/SeldonIO/seldon-core/pull/4841)
+- feat(models): Add model status message for k8s resource status [`#4834`](https://github.com/SeldonIO/seldon-core/pull/4834)
+- Bump MLServer to 1.3.2 (V2) [`#4807`](https://github.com/SeldonIO/seldon-core/pull/4807)
+- Fix python grpc api build [`#4791`](https://github.com/SeldonIO/seldon-core/pull/4791)
+- Update Dockerfile.dataflow [`#4836`](https://github.com/SeldonIO/seldon-core/pull/4836)
+- pin bitnami kafka to 3.3.1 [`#4829`](https://github.com/SeldonIO/seldon-core/pull/4829)
+- make datasource as input param [`#4830`](https://github.com/SeldonIO/seldon-core/pull/4830)
+- helm(fix): fix dataflow using non-existing Helm value (brokerCa instead of brokerCaPath) [`#4827`](https://github.com/SeldonIO/seldon-core/pull/4827)
+- Add missing environment_tarball to mlserver parameters model-settings [`#4823`](https://github.com/SeldonIO/seldon-core/pull/4823)
+- refactor(dataflow): Refactor conversion to binary contents [`#4786`](https://github.com/SeldonIO/seldon-core/pull/4786)
+- Add utilities to re-build artefacts [`#4814`](https://github.com/SeldonIO/seldon-core/pull/4814)
+- Use a more recent jdk base image [`#4815`](https://github.com/SeldonIO/seldon-core/pull/4815)
+- remove deprecated ansible parameter [`#4809`](https://github.com/SeldonIO/seldon-core/pull/4809)
+- Use `tcmalloc` in triton [`#4805`](https://github.com/SeldonIO/seldon-core/pull/4805)
+- Generating changelog for v2.5.0 [`77c62d4`](https://github.com/SeldonIO/seldon-core/commit/77c62d45c2c52a092520dff7045cb2c8ae28816d)
+- Setting version for helm charts [`8ca6a53`](https://github.com/SeldonIO/seldon-core/commit/8ca6a53a9a7250622497445266ddbb0610783554)
+- Setting version for yaml manifests [`0e72383`](https://github.com/SeldonIO/seldon-core/commit/0e723839652eceb1bf206c01a4398f8af3a723f5)
+
+
+[Changes][v2.5.0]
+
+
+
+## [v1.16.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.16.0) - 21 Apr 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.16.0](https://seldonio/seldonio/seldon-core/compare/v1.15.1...v1.16.0)
+
+> 19 April 2023
+
+- Fix Alibi Detect tests [`#4799`](https://seldonio/seldonio/seldon-core/pull/4799)
+- Update licenses for operator, executor and Python wrapper [`#4800`](https://seldonio/seldonio/seldon-core/pull/4800)
+- Remove missing link to blog article [`#4801`](https://seldonio/seldonio/seldon-core/pull/4801)
+- Fix security pipeline [`#4794`](https://seldonio/seldonio/seldon-core/pull/4794)
+- updated overview.md with azureblob example [`#4796`](https://seldonio/seldonio/seldon-core/pull/4796)
+- Bump MLServer to 1.3.0 (V1) [`#4788`](https://seldonio/seldonio/seldon-core/pull/4788)
+- Ensure metrics.port value is used in operator's Deployment [`#4782`](https://seldonio/seldonio/seldon-core/pull/4782)
+- Serve `/v2/docs` endpoint from executor [`#4755`](https://seldonio/seldonio/seldon-core/pull/4755)
+- check for duplicate svc-name annotations [`#4744`](https://seldonio/seldonio/seldon-core/pull/4744)
+- docs(upgrading): Core / K8s version compatibility + upgrade to SC 1.16 / K8s 1.25 [`#4777`](https://seldonio/seldonio/seldon-core/pull/4777)
+- Use Istio gateway in server_examples notebook [`#4785`](https://seldonio/seldonio/seldon-core/pull/4785)
+- Fix check for separate annotation pid [`#4741`](https://seldonio/seldonio/seldon-core/pull/4741)
+- setup.py `grpcio-reflection < 2` [`#4743`](https://seldonio/seldonio/seldon-core/pull/4743)
+- Minior: Fix knative wording [`#4771`](https://seldonio/seldonio/seldon-core/pull/4771)
+- Fixes check for invalid crd name [`#4747`](https://seldonio/seldonio/seldon-core/pull/4747)
+- Delete r_wrapping_docker.md [`#4736`](https://seldonio/seldonio/seldon-core/pull/4736)
+- use Debian 11 for Executor & Operator images [`#4737`](https://seldonio/seldonio/seldon-core/pull/4737)
+- Remove debug line from integrations cript [`#4731`](https://seldonio/seldonio/seldon-core/pull/4731)
+- Correct typo in `cifar10_drift.ipynb` [`#4738`](https://seldonio/seldonio/seldon-core/pull/4738)
+- disable buildkit [`#4733`](https://seldonio/seldonio/seldon-core/pull/4733)
+- Update .readthedocs.yml [`#4732`](https://seldonio/seldonio/seldon-core/pull/4732)
+- fix(seldon operator): infinite service updating if extra defaults applied by k8s [`#4725`](https://seldonio/seldonio/seldon-core/pull/4725)
+- Link to v2 codebase in v1 readme [`#4714`](https://seldonio/seldonio/seldon-core/pull/4714)
+- Bump MLServer to 1.2.4 (V1) [`#4702`](https://seldonio/seldonio/seldon-core/pull/4702)
+- HPA upgrade [`#4172`](https://seldonio/seldonio/seldon-core/pull/4172)
+- fix service host for separate pods with prepacked servers [`#4528`](https://seldonio/seldonio/seldon-core/pull/4528)
+- Add logger to ROUTERS [`#4533`](https://seldonio/seldonio/seldon-core/pull/4533)
+- add note on Ansible not being for production [`#4697`](https://seldonio/seldonio/seldon-core/pull/4697)
+- Ansible refactor [`#4683`](https://seldonio/seldonio/seldon-core/pull/4683)
+- Remove last dot from constant [`#4691`](https://seldonio/seldonio/seldon-core/pull/4691)
+- upgrade cryptography python package [`#4540`](https://seldonio/seldonio/seldon-core/pull/4540)
+- chore: update setuptools version to 65.5.1 [`#4687`](https://seldonio/seldonio/seldon-core/pull/4687)
+- Use constant from constants package [`#4672`](https://seldonio/seldonio/seldon-core/pull/4672)
+- Update broken links and remove deprecated integration [`#4673`](https://seldonio/seldonio/seldon-core/pull/4673)
+- Bump MLServer to 1.2.3 (v1) [`#4591`](https://seldonio/seldonio/seldon-core/pull/4591)
+- Use FQDN in the host field of Istio resources [`#4408`](https://seldonio/seldonio/seldon-core/pull/4408)
+- Upgrade istio and pdbs [`#4645`](https://seldonio/seldonio/seldon-core/pull/4645)
+- Pointing links at v2 latest [`#4649`](https://seldonio/seldonio/seldon-core/pull/4649)
+- Delete oprhaned services and update Ambassador docs [`#4600`](https://seldonio/seldonio/seldon-core/pull/4600)
+- Changing v2 links to point at latest docs build [`#4637`](https://seldonio/seldonio/seldon-core/pull/4637)
+- Update OWNERS [`#4635`](https://seldonio/seldonio/seldon-core/pull/4635)
+- Update OWNERS_ALIASES [`#4636`](https://seldonio/seldonio/seldon-core/pull/4636)
+- Add app-vulns flag to Python images [`#4608`](https://seldonio/seldonio/seldon-core/pull/4608)
+- Fix CVEs for Alibi images [`#4612`](https://seldonio/seldonio/seldon-core/pull/4612)
+- Update python_server.rst [`#4609`](https://seldonio/seldonio/seldon-core/pull/4609)
+- remove mlserver scans [`#4581`](https://seldonio/seldonio/seldon-core/pull/4581)
+- fix suffix for placeholder for V2 security scan worflow [`#4580`](https://seldonio/seldonio/seldon-core/pull/4580)
+- add placeholder for V2 security scan worflow [`#4576`](https://seldonio/seldonio/seldon-core/pull/4576)
+- Fix typo in doc [`#4566`](https://seldonio/seldonio/seldon-core/pull/4566)
+- Fix: support models saved with mlflow=2 in mlflowserver conda_env_create [`#4505`](https://seldonio/seldonio/seldon-core/pull/4505)
+- docs: update GUNICOR_THREADS default value in the docs [`#4559`](https://seldonio/seldonio/seldon-core/pull/4559)
+- remove Zone.Identifier files [`#4556`](https://seldonio/seldonio/seldon-core/pull/4556)
+- use ubuntu-latest for GHA [`#4550`](https://seldonio/seldonio/seldon-core/pull/4550)
+- Fixed explainer to handle istio hosts annotation [`#4401`](https://seldonio/seldonio/seldon-core/pull/4401)
+- Fix annotation updates and redo semantic equality using patch checker [`#4537`](https://seldonio/seldonio/seldon-core/pull/4537)
+- Update controller gen and operator kubebuilder testing [`#4530`](https://seldonio/seldonio/seldon-core/pull/4530)
+- Update default.yaml [`#4518`](https://seldonio/seldonio/seldon-core/pull/4518)
+- Update seldon core v1 3rd party licenses [`#4522`](https://seldonio/seldonio/seldon-core/pull/4522)
+- Add docs for python wrapper processes [`#4517`](https://seldonio/seldonio/seldon-core/pull/4517)
+- Openshift update [`#4510`](https://seldonio/seldonio/seldon-core/pull/4510)
+- Bump MLServer version to 1.2.1 [`#4502`](https://seldonio/seldonio/seldon-core/pull/4502)
+- Start 1.16.0 dev [`#4484`](https://seldonio/seldonio/seldon-core/pull/4484)
+- update licenses for 1.15.0 release [`#4480`](https://seldonio/seldonio/seldon-core/pull/4480)
+- limit changelog to current version [`#4483`](https://seldonio/seldonio/seldon-core/pull/4483)
+- Clarify use of SCv1 in Helm chart descriptions + fix typo [`#4485`](https://seldonio/seldonio/seldon-core/pull/4485)
+- Adding SCV2 banners on docs homepage and github Readme [`#4482`](https://seldonio/seldonio/seldon-core/pull/4482)
+- add hint to v2 images workflow [`#4475`](https://seldonio/seldonio/seldon-core/pull/4475)
+- rename v2 images workflow extension [`#4471`](https://seldonio/seldonio/seldon-core/pull/4471)
+- add placeholder for V2 image build worflow [`#4469`](https://seldonio/seldonio/seldon-core/pull/4469)
+- adjust to executor use of ubi not ubi-minimal [`#4467`](https://seldonio/seldonio/seldon-core/pull/4467)
+- Images update [`#4463`](https://seldonio/seldonio/seldon-core/pull/4463)
+- Prefix v1 workflows [`#4464`](https://seldonio/seldonio/seldon-core/pull/4464)
+- Fixes check for invalid crd name ([#4747](https://github.com/SeldonIO/seldon-core/issues/4747)) [`#4746`](https://github.com/SeldonIO/seldon-core/issues/4746)
+- Add app-vulns flag to Python images ([#4608](https://github.com/SeldonIO/seldon-core/issues/4608)) [`#4605`](https://github.com/SeldonIO/seldon-core/issues/4605)
+- release v1.16.0-release [`d6c26b6`](https://seldonio/seldonio/seldon-core/commit/d6c26b6bfc9f3c78eefc5987bac7123dcc382628)
+- Update Helm chart docs [`116fd01`](https://seldonio/seldonio/seldon-core/commit/116fd011badbf0d29811eb819ccea012c98df920)
+- Update images.md [`6ce1dd7`](https://seldonio/seldonio/seldon-core/commit/6ce1dd7c5db87ece1c101a58f851f27f65c36bb5)
+
+
+[Changes][v1.16.0]
+
+
+
+## [v2.4.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.4.0) - 18 Apr 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.4.0](https://github.com/SeldonIO/seldon-core/compare/v2.3.0...v2.4.0)
+
+> 18 April 2023
+
+- Upgrade to go 1.19.8 due to CVE [`#4798`](https://github.com/SeldonIO/seldon-core/pull/4798)
+- Update copyright headers and 3rd party licenses for v2 release [`#4797`](https://github.com/SeldonIO/seldon-core/pull/4797)
+- Bump MLServer to 1.3.0 (V2) [`#4787`](https://github.com/SeldonIO/seldon-core/pull/4787)
+- feat(samples): Add kernel shap explainer for income model [`#4772`](https://github.com/SeldonIO/seldon-core/pull/4772)
+- Triton inference server upgrade to 23.03 release [`#4790`](https://github.com/SeldonIO/seldon-core/pull/4790)
+- feat(dataflow): Add missing filter for requests without input tensors [`#4779`](https://github.com/SeldonIO/seldon-core/pull/4779)
+- feat(dataflow): Use raw contents in joins if any message uses raw contents [`#4781`](https://github.com/SeldonIO/seldon-core/pull/4781)
+- fix(agent): Use type from storage config and enforce name matches config [`#4780`](https://github.com/SeldonIO/seldon-core/pull/4780)
+- refactor(agent): Format agent code [`#4784`](https://github.com/SeldonIO/seldon-core/pull/4784)
+- Fix model artifact versions [`#4774`](https://github.com/SeldonIO/seldon-core/pull/4774)
+- revert user to 1000 [`#4753`](https://github.com/SeldonIO/seldon-core/pull/4753)
+- Update rclone to 1.62.2 [`#4745`](https://github.com/SeldonIO/seldon-core/pull/4745)
+- Generating changelog for v2.4.0 [`784c4bf`](https://github.com/SeldonIO/seldon-core/commit/784c4bf4f595061affabe057738f22f1b7f622fa)
+- Setting version for helm charts [`9c33dc0`](https://github.com/SeldonIO/seldon-core/commit/9c33dc0d199b9db914523df774c3580fb9a56968)
+- Setting version for yaml manifests [`4bbd56f`](https://github.com/SeldonIO/seldon-core/commit/4bbd56fbf101ccdde0c69a7a0e6aa896a01fd5a2)
+- temp stash [`c4e33c9`](https://github.com/SeldonIO/seldon-core/commit/c4e33c928fbcec46287e22d8ba181437b64f31a0)
+- personal edits [`6ccdf7f`](https://github.com/SeldonIO/seldon-core/commit/6ccdf7f1a7597c32aeaca676051d8a47937ac427)
+
+
+[Changes][v2.4.0]
+
+
+
+## [v1.15.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.15.1) - 22 Mar 2023
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.15.1](https://github.com/SeldonIO/seldon-core/compare/v1.15.0...v1.15.1)
+
+> 22 March 2023
+
+- Upgrade cryptography python package [`#4540`](https://github.com/SeldonIO/seldon-core/pull/4540)
+- Fix CVEs for Alibi images [`#4612`](https://github.com/SeldonIO/seldon-core/pull/4612)
+- Use Debian 11 for Executor & Operator images [`#4737`](https://github.com/SeldonIO/seldon-core/pull/4737)
+
+
+[Changes][v1.15.1]
+
+
+
+## [v2.3.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.3.0) - 14 Mar 2023
+
### Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
-#### v0.1.0
-
-> 30 June 2022
-
-- Ignore RC builds in generated core-release notes [`#336`](https://github.com/sakoush/seldon-core-v2/pull/336)
-- Update README.md [`#330`](https://github.com/sakoush/seldon-core-v2/pull/330)
-- V2 release process [`#327`](https://github.com/sakoush/seldon-core-v2/pull/327)
-- add missing kustomize patch + version setting helpers [`#322`](https://github.com/sakoush/seldon-core-v2/pull/322)
-- Remove duplicated Compose image tags in Makefile [`#325`](https://github.com/sakoush/seldon-core-v2/pull/325)
-- add img overrides for compose [`#324`](https://github.com/sakoush/seldon-core-v2/pull/324)
-- Ensure X-Request-ID is returned and allow CLI inspect to use [`#314`](https://github.com/sakoush/seldon-core-v2/pull/314)
-- Add container merge sematics for easier custom servers [`#315`](https://github.com/sakoush/seldon-core-v2/pull/315)
-- Add server status update batching [`#307`](https://github.com/sakoush/seldon-core-v2/pull/307)
-- Sherif akoush/demo fixes [`#312`](https://github.com/sakoush/seldon-core-v2/pull/312)
-- Add build info to Hodometer Docker images [`#304`](https://github.com/sakoush/seldon-core-v2/pull/304)
-- Add batching for XDS server updates [`#248`](https://github.com/sakoush/seldon-core-v2/pull/248)
-- Add Kubernetes metrics to Hodometer [`#299`](https://github.com/sakoush/seldon-core-v2/pull/299)
-- Modelgateway issue [`#296`](https://github.com/sakoush/seldon-core-v2/pull/296)
-- Experiment store [`#292`](https://github.com/sakoush/seldon-core-v2/pull/292)
-- Sherif akoush/upgrade mlserver 1.1 [`#294`](https://github.com/sakoush/seldon-core-v2/pull/294)
-- Sherif akoush/http lazy load fix [`#293`](https://github.com/sakoush/seldon-core-v2/pull/293)
-- Sherif akoush/lazy load model in restart [`#291`](https://github.com/sakoush/seldon-core-v2/pull/291)
-- Num modelgateway workers fix [`#290`](https://github.com/sakoush/seldon-core-v2/pull/290)
-- Robustness fixes [`#287`](https://github.com/sakoush/seldon-core-v2/pull/287)
-- Modelgateway workers from envar [`#288`](https://github.com/sakoush/seldon-core-v2/pull/288)
-- Sherif akoush/create snapshot optimisation [`#285`](https://github.com/sakoush/seldon-core-v2/pull/285)
-- Modelgateway threads [`#278`](https://github.com/sakoush/seldon-core-v2/pull/278)
-- Fix trigger join [`#282`](https://github.com/sakoush/seldon-core-v2/pull/282)
-- Pipeline db fixes [`#283`](https://github.com/sakoush/seldon-core-v2/pull/283)
-- Allow model scaling, k6 constant throughput tests and Prometheus/Grafana in Docker Compose install [`#262`](https://github.com/sakoush/seldon-core-v2/pull/262)
-- Sherif akoush/improve replica sorting [`#280`](https://github.com/sakoush/seldon-core-v2/pull/280)
-- do not run action to build/push images on forks [`#269`](https://github.com/sakoush/seldon-core-v2/pull/269)
-- fix workflow dispatch inputs for image building [`#268`](https://github.com/sakoush/seldon-core-v2/pull/268)
-- Change Envoy LB Algorithm to Least Requests [`#265`](https://github.com/sakoush/seldon-core-v2/pull/265)
-- Request metadata [`#264`](https://github.com/sakoush/seldon-core-v2/pull/264)
-- Use static Kafka consumer in Kstreams [`#260`](https://github.com/sakoush/seldon-core-v2/pull/260)
-- Scheduler db folder docker [`#261`](https://github.com/sakoush/seldon-core-v2/pull/261)
-- Tracing config [`#225`](https://github.com/sakoush/seldon-core-v2/pull/225)
-- Separate event publish from locked updates to data structures [`#254`](https://github.com/sakoush/seldon-core-v2/pull/254)
-- add mnt folder to git with .keep file [`#255`](https://github.com/sakoush/seldon-core-v2/pull/255)
-- small update to docs [`#253`](https://github.com/sakoush/seldon-core-v2/pull/253)
-- Dataflow doc [`#245`](https://github.com/sakoush/seldon-core-v2/pull/245)
-- Update index.md [`#249`](https://github.com/sakoush/seldon-core-v2/pull/249)
-- update cifar10 demo [`#247`](https://github.com/sakoush/seldon-core-v2/pull/247)
-- Metrics dashboard docs [`#244`](https://github.com/sakoush/seldon-core-v2/pull/244)
-- fix http reverse proxy port issue [`#243`](https://github.com/sakoush/seldon-core-v2/pull/243)
-- add workflow that builds and push images [`#234`](https://github.com/sakoush/seldon-core-v2/pull/234)
-- Cli command updates [`#242`](https://github.com/sakoush/seldon-core-v2/pull/242)
-- Sherif akoush/metrics dashboard [`#241`](https://github.com/sakoush/seldon-core-v2/pull/241)
-- add longer default timeout in Envoy configuration [`#239`](https://github.com/sakoush/seldon-core-v2/pull/239)
-- Optimise XDS server route creation [`#237`](https://github.com/sakoush/seldon-core-v2/pull/237)
-- v2 control plane grpc + various fixes for scalability [`#229`](https://github.com/sakoush/seldon-core-v2/pull/229)
-- Some text updates, new reference [`#236`](https://github.com/sakoush/seldon-core-v2/pull/236)
-- Update index.md [`#235`](https://github.com/sakoush/seldon-core-v2/pull/235)
-- Pipeline Persistence [`#188`](https://github.com/sakoush/seldon-core-v2/pull/188)
-- Add locks to streams [`#231`](https://github.com/sakoush/seldon-core-v2/pull/231)
-- small docs title page update [`#228`](https://github.com/sakoush/seldon-core-v2/pull/228)
-- add locks around stream send [`#226`](https://github.com/sakoush/seldon-core-v2/pull/226)
-- docs updates [`#227`](https://github.com/sakoush/seldon-core-v2/pull/227)
-- Add Hodometer stub receiver [`#211`](https://github.com/sakoush/seldon-core-v2/pull/211)
-- update cli export flags docs [`#224`](https://github.com/sakoush/seldon-core-v2/pull/224)
-- Experiment status [`#212`](https://github.com/sakoush/seldon-core-v2/pull/212)
-- fix trigger NullPointer exception [`#221`](https://github.com/sakoush/seldon-core-v2/pull/221)
-- docs update [`#222`](https://github.com/sakoush/seldon-core-v2/pull/222)
-- fix external port for kafka when running internally [`#220`](https://github.com/sakoush/seldon-core-v2/pull/220)
-- Change port to avoid conflict [`#219`](https://github.com/sakoush/seldon-core-v2/pull/219)
-- read events in go routines [`#215`](https://github.com/sakoush/seldon-core-v2/pull/215)
-- Update server snapshot creation in scheduler [`#214`](https://github.com/sakoush/seldon-core-v2/pull/214)
-- Sherif akoush/fix v2client load [`#210`](https://github.com/sakoush/seldon-core-v2/pull/210)
-- Sherif akoush/add evict metrics [`#184`](https://github.com/sakoush/seldon-core-v2/pull/184)
-- CIFAR10 Example and CLI Pipeline inspect [`#207`](https://github.com/sakoush/seldon-core-v2/pull/207)
-- Add short names to CRDs [`#209`](https://github.com/sakoush/seldon-core-v2/pull/209)
-- update pipeline status and finalizer check [`#208`](https://github.com/sakoush/seldon-core-v2/pull/208)
-- Cli updates [`#199`](https://github.com/sakoush/seldon-core-v2/pull/199)
-- Helm chart creation [`#193`](https://github.com/sakoush/seldon-core-v2/pull/193)
-- Kafka configuration via config files [`#189`](https://github.com/sakoush/seldon-core-v2/pull/189)
-- Alibi-detect iris drift detection example [`#191`](https://github.com/sakoush/seldon-core-v2/pull/191)
-- throw errors in CLI on bad yaml [`#198`](https://github.com/sakoush/seldon-core-v2/pull/198)
-- Add usage metrics collector [`#181`](https://github.com/sakoush/seldon-core-v2/pull/181)
-- Add model metadata to CLI [`#187`](https://github.com/sakoush/seldon-core-v2/pull/187)
-- update install docs for Ansible [`#190`](https://github.com/sakoush/seldon-core-v2/pull/190)
-- Allow max message size in kafka and grpc [`#186`](https://github.com/sakoush/seldon-core-v2/pull/186)
-- change kafka to bitnami [`#185`](https://github.com/sakoush/seldon-core-v2/pull/185)
-- Allow for more informative scheduling errors [`#182`](https://github.com/sakoush/seldon-core-v2/pull/182)
-- Add kafka Produce and Consume Tracing Spans [`#178`](https://github.com/sakoush/seldon-core-v2/pull/178)
-- Sherif akoush/report same message from agent [`#183`](https://github.com/sakoush/seldon-core-v2/pull/183)
-- Requests batch processing transformer implementation [`#135`](https://github.com/sakoush/seldon-core-v2/pull/135)
-- fix docker compose for host network [`#177`](https://github.com/sakoush/seldon-core-v2/pull/177)
-- Ansible: add jaeger and opentelemetry [`#172`](https://github.com/sakoush/seldon-core-v2/pull/172)
-- Add server extra capabilities [`#169`](https://github.com/sakoush/seldon-core-v2/pull/169)
-- Update memory.go [`#173`](https://github.com/sakoush/seldon-core-v2/pull/173)
-- Parametrize ansible [`#167`](https://github.com/sakoush/seldon-core-v2/pull/167)
-- Update Configuration.kt [`#166`](https://github.com/sakoush/seldon-core-v2/pull/166)
-- add inference docs [`#165`](https://github.com/sakoush/seldon-core-v2/pull/165)
-- initial ansible playbooks [`#154`](https://github.com/sakoush/seldon-core-v2/pull/154)
-- Further Docs [`#163`](https://github.com/sakoush/seldon-core-v2/pull/163)
-- Open Telemetry Tracing [`#160`](https://github.com/sakoush/seldon-core-v2/pull/160)
-- make pipeline different from modelname [`#162`](https://github.com/sakoush/seldon-core-v2/pull/162)
-- Sherif akoush/k6 dataflow [`#149`](https://github.com/sakoush/seldon-core-v2/pull/149)
-- Pipeline inputs [`#158`](https://github.com/sakoush/seldon-core-v2/pull/158)
-- fix locks in pipeline state set [`#159`](https://github.com/sakoush/seldon-core-v2/pull/159)
-- Add Pipeline Triggers [`#152`](https://github.com/sakoush/seldon-core-v2/pull/152)
-- tutorial docs section [`#156`](https://github.com/sakoush/seldon-core-v2/pull/156)
-- Allow local model folders [`#153`](https://github.com/sakoush/seldon-core-v2/pull/153)
-- Docs update [`#150`](https://github.com/sakoush/seldon-core-v2/pull/150)
-- Use Gradle directly in dataflow engine Docker build [`#148`](https://github.com/sakoush/seldon-core-v2/pull/148)
-- allow both mlserver and triton to be started locally [`#146`](https://github.com/sakoush/seldon-core-v2/pull/146)
-- Add clearer state logging for chainer and joiner [`#145`](https://github.com/sakoush/seldon-core-v2/pull/145)
-- Add state listeners to kstreams to wait while rebalancing takes place [`#144`](https://github.com/sakoush/seldon-core-v2/pull/144)
-- Conditional and Error Pipelines [`#143`](https://github.com/sakoush/seldon-core-v2/pull/143)
-- Pipelines on k8s [`#142`](https://github.com/sakoush/seldon-core-v2/pull/142)
-- Added install command for local examples notebook [`#141`](https://github.com/sakoush/seldon-core-v2/pull/141)
-- Dataflow updates [`#140`](https://github.com/sakoush/seldon-core-v2/pull/140)
-- fix dataflow bugs [`#139`](https://github.com/sakoush/seldon-core-v2/pull/139)
-- Update dataflow joiner [`#137`](https://github.com/sakoush/seldon-core-v2/pull/137)
-- Update golangci-lint to 1.45.2 [`#138`](https://github.com/sakoush/seldon-core-v2/pull/138)
-- Pipelines with Join [`#136`](https://github.com/sakoush/seldon-core-v2/pull/136)
-- Add features page placeholder [`#133`](https://github.com/sakoush/seldon-core-v2/pull/133)
-- Add Docker setup for data-flow engine [`#134`](https://github.com/sakoush/seldon-core-v2/pull/134)
-- Docs - add k8s resources [`#132`](https://github.com/sakoush/seldon-core-v2/pull/132)
-- Docs Draft Outline [`#131`](https://github.com/sakoush/seldon-core-v2/pull/131)
-- Fix data-flow Gradle setup [`#130`](https://github.com/sakoush/seldon-core-v2/pull/130)
-- Add Kafka Streams data-flow engine [`#119`](https://github.com/sakoush/seldon-core-v2/pull/119)
-- pick free port in test [`#128`](https://github.com/sakoush/seldon-core-v2/pull/128)
-- add mlserver protos extensions back [`#127`](https://github.com/sakoush/seldon-core-v2/pull/127)
-- Persisting k6 results to GCS bucket [`#125`](https://github.com/sakoush/seldon-core-v2/pull/125)
-- Add an outline of software design doc [`#126`](https://github.com/sakoush/seldon-core-v2/pull/126)
-- rename stream to modelgateway [`#124`](https://github.com/sakoush/seldon-core-v2/pull/124)
-- Sherif akoush/various fixes for testing [`#117`](https://github.com/sakoush/seldon-core-v2/pull/117)
-- initial docs setup [`#123`](https://github.com/sakoush/seldon-core-v2/pull/123)
-- CLI plus updated sample notebooks [`#120`](https://github.com/sakoush/seldon-core-v2/pull/120)
-- Disable auto-loading of models in MLServer at start-up via env vars [`#122`](https://github.com/sakoush/seldon-core-v2/pull/122)
-- Pipeline operator [`#118`](https://github.com/sakoush/seldon-core-v2/pull/118)
-- Pipelines [`#107`](https://github.com/sakoush/seldon-core-v2/pull/107)
-- Wire up overcommit with scheduler [`#111`](https://github.com/sakoush/seldon-core-v2/pull/111)
-- proto update for chainer [`#109`](https://github.com/sakoush/seldon-core-v2/pull/109)
-- Experiments v1 [`#106`](https://github.com/sakoush/seldon-core-v2/pull/106)
-- chainer protos [`#108`](https://github.com/sakoush/seldon-core-v2/pull/108)
-- Sherif akoush/simplify locks [`#103`](https://github.com/sakoush/seldon-core-v2/pull/103)
-- Sherif akoush/remove version code agent [`#102`](https://github.com/sakoush/seldon-core-v2/pull/102)
-- Stream integration with Kafka [`#104`](https://github.com/sakoush/seldon-core-v2/pull/104)
-- Add event bus for scheduler-internal events [`#99`](https://github.com/sakoush/seldon-core-v2/pull/99)
-- Fix maybe parsing methods so not a fatal on not found [`#96`](https://github.com/sakoush/seldon-core-v2/pull/96)
-- Refactor Agent cmd package and argument parsing [`#83`](https://github.com/sakoush/seldon-core-v2/pull/83)
-- replace loaded models with versioned models key [`#88`](https://github.com/sakoush/seldon-core-v2/pull/88)
-- Add memory sorter to default scheduler [`#91`](https://github.com/sakoush/seldon-core-v2/pull/91)
-- fix rclone host docker compose config [`#94`](https://github.com/sakoush/seldon-core-v2/pull/94)
-- Sherif akoush/update v2 protos in notebooks [`#93`](https://github.com/sakoush/seldon-core-v2/pull/93)
-- Sherif akoush/scv2 50/flatten versions (and various other fixes) [`#86`](https://github.com/sakoush/seldon-core-v2/pull/86)
-- Prometheus Inference Metrics [`#82`](https://github.com/sakoush/seldon-core-v2/pull/82)
-- Traffic split envoy [`#79`](https://github.com/sakoush/seldon-core-v2/pull/79)
-- Docker compose updates [`#84`](https://github.com/sakoush/seldon-core-v2/pull/84)
-- Use Compose for Docker-based Make targets [`#81`](https://github.com/sakoush/seldon-core-v2/pull/81)
-- Wiring up proxies [`#78`](https://github.com/sakoush/seldon-core-v2/pull/78)
-- Add Docker Compose manifests [`#77`](https://github.com/sakoush/seldon-core-v2/pull/77)
-- Sherif akoush/reverse proxy grpc 2 [`#72`](https://github.com/sakoush/seldon-core-v2/pull/72)
-- K6 Load Tests [`#69`](https://github.com/sakoush/seldon-core-v2/pull/69)
-- Service Mesh experiments Istio, Traefik, Ambassador [`#70`](https://github.com/sakoush/seldon-core-v2/pull/70)
-- Sherif akoush/Memory over-commit (reverse proxy) [`#18`](https://github.com/sakoush/seldon-core-v2/pull/18)
-- Server Custom Resource [`#41`](https://github.com/sakoush/seldon-core-v2/pull/41)
-- Versioning [`#40`](https://github.com/sakoush/seldon-core-v2/pull/40)
-- Move Protobuf contracts to top-level [`#39`](https://github.com/sakoush/seldon-core-v2/pull/39)
-- Initial Operator update for Model resource [`#20`](https://github.com/sakoush/seldon-core-v2/pull/20)
-- Add scheduler proxy/stub [`#38`](https://github.com/sakoush/seldon-core-v2/pull/38)
-- Dynamic RClone Configuration [`#8`](https://github.com/sakoush/seldon-core-v2/pull/8)
-- Format the code for new lines at end of file (gofmt) [`#11`](https://github.com/sakoush/seldon-core-v2/pull/11)
-- Add github actions for linting and tests [`#10`](https://github.com/sakoush/seldon-core-v2/pull/10)
-- Add golangci-lint linters and fix existing lint failures [`#9`](https://github.com/sakoush/seldon-core-v2/pull/9)
-- Add payload logging with Envoy Taps [`#1`](https://github.com/sakoush/seldon-core-v2/pull/1)
-- Updated to non deprecated grpc settings [`#29`](https://github.com/sakoush/seldon-core-v2/pull/29)
-- add gRPC inference [`#28`](https://github.com/sakoush/seldon-core-v2/pull/28)
-- Seldon Core V2 Scheduler Update [`#27`](https://github.com/sakoush/seldon-core-v2/pull/27)
-- Add V2 APIs and Samples [`#26`](https://github.com/sakoush/seldon-core-v2/pull/26)
-- New Operator APIs [`#25`](https://github.com/sakoush/seldon-core-v2/pull/25)
-- Remove initial operator [`#24`](https://github.com/sakoush/seldon-core-v2/pull/24)
-- SCV2 POC Update [`#23`](https://github.com/sakoush/seldon-core-v2/pull/23)
-- Seldon Core V2 - Scheduler experiments [`#22`](https://github.com/sakoush/seldon-core-v2/pull/22)
-- Seldon core v2 (add smoke test) [`#21`](https://github.com/sakoush/seldon-core-v2/pull/21)
-- Seldon core v2 (further updates) [`#20`](https://github.com/sakoush/seldon-core-v2/pull/20)
-- Seldon V2 APIs initial Draft [`02d963c`](https://github.com/sakoush/seldon-core-v2/commit/02d963c378826704532dcaf60287bbad55cc26ff)
-- Initial commit for Model reconcile [`a1dfb6d`](https://github.com/sakoush/seldon-core-v2/commit/a1dfb6d7f5f332714439aa7d6bb0bb4c14fdc7ce)
-- update status for model [`d127e19`](https://github.com/sakoush/seldon-core-v2/commit/d127e19644dfd01c418fd4279ac21215bd151931)
-- add k8s config handling [`86d58d0`](https://github.com/sakoush/seldon-core-v2/commit/86d58d0699e4c69ae995ce2d8554467accfec5a8)
-- add model status [`1703863`](https://github.com/sakoush/seldon-core-v2/commit/17038631d18c835bc3ee2be6fc203aa2642a2724)
+#### [v2.3.0](https://github.com/SeldonIO/seldon-core/compare/v2.2.0...v2.3.0)
+
+> 12 March 2023
+
+- Use fix versions of images [`#4728`](https://github.com/SeldonIO/seldon-core/pull/4728)
+- update dataflow engine dependencies [`#4727`](https://github.com/SeldonIO/seldon-core/pull/4727)
+- Upgrade data engine k8s client [`#4726`](https://github.com/SeldonIO/seldon-core/pull/4726)
+- Update go-restful for v2 [`#4724`](https://github.com/SeldonIO/seldon-core/pull/4724)
+- Update icenses and copyright [`#4723`](https://github.com/SeldonIO/seldon-core/pull/4723)
+- Upgrade some packages for CVE - yaml.v3 and golang.org/x/text [`#4722`](https://github.com/SeldonIO/seldon-core/pull/4722)
+- Upgrade to go 1.19.7 in Docker builds [`#4721`](https://github.com/SeldonIO/seldon-core/pull/4721)
+- Recreate examples for mlserver 1.2.4 [`#4719`](https://github.com/SeldonIO/seldon-core/pull/4719)
+- Add parameter to dashboard by namespace [`#4720`](https://github.com/SeldonIO/seldon-core/pull/4720)
+- Docs: Add a section in Servers for setting extra capabilities [`#4718`](https://github.com/SeldonIO/seldon-core/pull/4718)
+- Allow jaeger image to be customized [`#4717`](https://github.com/SeldonIO/seldon-core/pull/4717)
+- Fix golang version in security tests [`#4716`](https://github.com/SeldonIO/seldon-core/pull/4716)
+- Allow for Kafka topic prefix customization [`#4674`](https://github.com/SeldonIO/seldon-core/pull/4674)
+- Add model server controlplane interface [`#4706`](https://github.com/SeldonIO/seldon-core/pull/4706)
+- Bump MLServer to 1.2.4 (V2) [`#4701`](https://github.com/SeldonIO/seldon-core/pull/4701)
+- Increase idle connection timeout to 30 minutes [`#4713`](https://github.com/SeldonIO/seldon-core/pull/4713)
+- Bump version of golint [`#4703`](https://github.com/SeldonIO/seldon-core/pull/4703)
+- Add note that Ansible is not for production [`#4695`](https://github.com/SeldonIO/seldon-core/pull/4695)
+- minor fixes [`#4682`](https://github.com/SeldonIO/seldon-core/pull/4682)
+- Major Ansible Refactor [`#4681`](https://github.com/SeldonIO/seldon-core/pull/4681)
+- Update Kafka install docs [`#4677`](https://github.com/SeldonIO/seldon-core/pull/4677)
+- Update .gitignore [`#4676`](https://github.com/SeldonIO/seldon-core/pull/4676)
+- Ensure settings for max message size [`#4675`](https://github.com/SeldonIO/seldon-core/pull/4675)
+- Adding logging section to FAQ [`#4662`](https://github.com/SeldonIO/seldon-core/pull/4662)
+- Regenerate Helm CRD yaml [`#4670`](https://github.com/SeldonIO/seldon-core/pull/4670)
+- add envs for starting zk and prometheus [`#4669`](https://github.com/SeldonIO/seldon-core/pull/4669)
+- Updated rclone docs [`#4664`](https://github.com/SeldonIO/seldon-core/pull/4664)
+- Add resource generic load, unload, status to CLI [`#4660`](https://github.com/SeldonIO/seldon-core/pull/4660)
+- Add scaling docs for V2 [`#4661`](https://github.com/SeldonIO/seldon-core/pull/4661)
+- Small CLI Updates [`#4650`](https://github.com/SeldonIO/seldon-core/pull/4650)
+- fix ansible [`#4651`](https://github.com/SeldonIO/seldon-core/pull/4651)
+- Retry on server load fail [`#4647`](https://github.com/SeldonIO/seldon-core/pull/4647)
+- fix typos in 2.2.0 testing [`#4644`](https://github.com/SeldonIO/seldon-core/pull/4644)
+- Generating changelog for v2.3.0 [`21f0b35`](https://github.com/SeldonIO/seldon-core/commit/21f0b3515711c2dda71cf4654d315c2fb74a146b)
+- Setting version for helm charts [`e64799e`](https://github.com/SeldonIO/seldon-core/commit/e64799e303e746306a0799a74c32e1554de372af)
+- Setting version for yaml manifests [`d73ed13`](https://github.com/SeldonIO/seldon-core/commit/d73ed13f47c144d734e1dfe184caf5d45ec7102f)
+- Update README.md [`71ffcee`](https://github.com/SeldonIO/seldon-core/commit/71ffceea230cca67ba6a4c035d51d29eead02991)
+
+
+[Changes][v2.3.0]
+
+
+
+## [v2.2.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.2.0) - 07 Feb 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.2.0](https://github.com/SeldonIO/seldon-core/compare/v2.1.0...v2.2.0)
+
+> 6 February 2023
+
+- Retry on server load fail [`#4647`](https://github.com/SeldonIO/seldon-core/pull/4647)
+- fix typos in 2.2.0 testing [`#4644`](https://github.com/SeldonIO/seldon-core/pull/4644)
+- do not report events if not set by scheduler [`#4643`](https://github.com/SeldonIO/seldon-core/pull/4643)
+- Fix available memory overflowing [`#4641`](https://github.com/SeldonIO/seldon-core/pull/4641)
+- k6 multiple models run [`#4626`](https://github.com/SeldonIO/seldon-core/pull/4626)
+- Bug fix and update to notebook [`#4639`](https://github.com/SeldonIO/seldon-core/pull/4639)
+- Migrate dataflow engine to UBI9 base image [`#4632`](https://github.com/SeldonIO/seldon-core/pull/4632)
+- v2: Add ability to load without model configuration files and add more examples [`#4624`](https://github.com/SeldonIO/seldon-core/pull/4624)
+- use ubi9 for seldon-rclone image [`#4633`](https://github.com/SeldonIO/seldon-core/pull/4633)
+- v2: Change to ubi images for go applications [`#4628`](https://github.com/SeldonIO/seldon-core/pull/4628)
+- Move Envoy image to UBI [`#4630`](https://github.com/SeldonIO/seldon-core/pull/4630)
+- Add CONTRIBUTING file (V2) [`#4629`](https://github.com/SeldonIO/seldon-core/pull/4629)
+- adding local batch example [`#4616`](https://github.com/SeldonIO/seldon-core/pull/4616)
+- Fix model progressing state getting stuck if agent dies [`#4621`](https://github.com/SeldonIO/seldon-core/pull/4621)
+- Dont hold a global lock when publishing to `EventHub` [`#4618`](https://github.com/SeldonIO/seldon-core/pull/4618)
+- Add app-vulns flag to V2 images [`#4619`](https://github.com/SeldonIO/seldon-core/pull/4619)
+- Stop Agent if subservices are not ready [`#4611`](https://github.com/SeldonIO/seldon-core/pull/4611)
+- Small cleanups and additions for v2 [`#4610`](https://github.com/SeldonIO/seldon-core/pull/4610)
+- Docs link update for mms [`#4607`](https://github.com/SeldonIO/seldon-core/pull/4607)
+- Update multi-model serving and overcommit docs [`#4606`](https://github.com/SeldonIO/seldon-core/pull/4606)
+- Fix CLI config bug and extend help [`#4604`](https://github.com/SeldonIO/seldon-core/pull/4604)
+- Add notes on Go module tags in release docs [`#4595`](https://github.com/SeldonIO/seldon-core/pull/4595)
+- Generating changelog for v2.2.0 [`cfe154c`](https://github.com/SeldonIO/seldon-core/commit/cfe154ca822b3689a5259c7e3caa3901a55d76ae)
+- Generating changelog for v2.2.0 [`85eec07`](https://github.com/SeldonIO/seldon-core/commit/85eec072a48108449c4a416ea66d1655ab41c5b8)
+- Setting version for helm charts [`f985d97`](https://github.com/SeldonIO/seldon-core/commit/f985d974622a2bd8f2e15b302185c91342958834)
+- Setting version for yaml manifests [`699def5`](https://github.com/SeldonIO/seldon-core/commit/699def5ac6775b584e01288a6ee863a425a664d1)
+- Generating changelog for v2.2.0 [`c0be215`](https://github.com/SeldonIO/seldon-core/commit/c0be215601480cb231fabe7689de625bbf56c799)
+
+
+[Changes][v2.2.0]
+
+
+
+## [v2.1.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.1.0) - 17 Jan 2023
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v2.1.0](https://github.com/SeldonIO/seldon-core/compare/v2.0.0...v2.1.0)
+
+> 17 January 2023
+
+- updated notebook markdown [`#4593`](https://github.com/SeldonIO/seldon-core/pull/4593)
+- update income example and yamls [`#4592`](https://github.com/SeldonIO/seldon-core/pull/4592)
+- WIP: v2 licenses update [`#4588`](https://github.com/SeldonIO/seldon-core/pull/4588)
+- WIP: update copyright [`#4589`](https://github.com/SeldonIO/seldon-core/pull/4589)
+- Allow ServerConfig and Server labels and annotations to be passed to StatefulSet [`#4543`](https://github.com/SeldonIO/seldon-core/pull/4543)
+- Bump MLServer to 1.2.3 [`#4590`](https://github.com/SeldonIO/seldon-core/pull/4590)
+- Add SASL_SSL for Kafka Auth [`#4536`](https://github.com/SeldonIO/seldon-core/pull/4536)
+- Add bytes rawcontents correct handling and ensure headers are passed [`#4586`](https://github.com/SeldonIO/seldon-core/pull/4586)
+- AnchorText example for movies sentiment [`#4582`](https://github.com/SeldonIO/seldon-core/pull/4582)
+- Fix model delete hang when FailedSchedule [`#4583`](https://github.com/SeldonIO/seldon-core/pull/4583)
+- use helm to install Core v2 via Ansible [`#4574`](https://github.com/SeldonIO/seldon-core/pull/4574)
+- Fix SSL modelgateway kafka admin client bug [`#4584`](https://github.com/SeldonIO/seldon-core/pull/4584)
+- Update triton image to 22.11 everywhere [`#4585`](https://github.com/SeldonIO/seldon-core/pull/4585)
+- introduce Snyk security scans for V2 images [`#4575`](https://github.com/SeldonIO/seldon-core/pull/4575)
+- Add CLI config command to manage configs [`#4538`](https://github.com/SeldonIO/seldon-core/pull/4538)
+- Bump MLServer's message size [`#4571`](https://github.com/SeldonIO/seldon-core/pull/4571)
+- v2: Ensure grpc outgoing context has metadata [`#4568`](https://github.com/SeldonIO/seldon-core/pull/4568)
+- Change dataflow application id to unique [`#4569`](https://github.com/SeldonIO/seldon-core/pull/4569)
+- v2: update triton, grpc payload size, cli raw output processing [`#4560`](https://github.com/SeldonIO/seldon-core/pull/4560)
+- Retry ModelFailed models [`#4557`](https://github.com/SeldonIO/seldon-core/pull/4557)
+- bugfix: reference pipeline name after handling error [`#4548`](https://github.com/SeldonIO/seldon-core/pull/4548)
+- Fix grpc connection retry to control and data plane services [`#4551`](https://github.com/SeldonIO/seldon-core/pull/4551)
+- Pipeline inputs [`#4499`](https://github.com/SeldonIO/seldon-core/pull/4499)
+- add10 model settings [`#4546`](https://github.com/SeldonIO/seldon-core/pull/4546)
+- Update markdown transforming sed scripts [`#4500`](https://github.com/SeldonIO/seldon-core/pull/4500)
+- remove need for ONESHELL in go lint [`#4535`](https://github.com/SeldonIO/seldon-core/pull/4535)
+- Update local-over-commit-test.ipynb [`#4534`](https://github.com/SeldonIO/seldon-core/pull/4534)
+- Add an example k8s server pvc example [`#4529`](https://github.com/SeldonIO/seldon-core/pull/4529)
+- change stream id to use pipeline name [`#4512`](https://github.com/SeldonIO/seldon-core/pull/4512)
+- Add data-flow 3rd party license generation [`#4526`](https://github.com/SeldonIO/seldon-core/pull/4526)
+- Fix go license tool install [`#4524`](https://github.com/SeldonIO/seldon-core/pull/4524)
+- Update tls licenses and add summary [`#4523`](https://github.com/SeldonIO/seldon-core/pull/4523)
+- Seldon Core V2 Go 3rd party licenses [`#4520`](https://github.com/SeldonIO/seldon-core/pull/4520)
+- Link how to install docker compose v2 from github releases [`#4516`](https://github.com/SeldonIO/seldon-core/pull/4516)
+- Fix possible SIGSEV after producer close in modelgateway [`#4515`](https://github.com/SeldonIO/seldon-core/pull/4515)
+- Ensure x-request-id header matches kafka key [`#4511`](https://github.com/SeldonIO/seldon-core/pull/4511)
+- Upgrading docker compose CLI command [`#4498`](https://github.com/SeldonIO/seldon-core/pull/4498)
+- Disable autoscaling tracking on agent for models that are fixed [`#4501`](https://github.com/SeldonIO/seldon-core/pull/4501)
+- add a notebook test for changing model replicas [`#4504`](https://github.com/SeldonIO/seldon-core/pull/4504)
+- Bump MLServer version to 1.2.1 [`#4503`](https://github.com/SeldonIO/seldon-core/pull/4503)
+- [SCv2] Improve inference docs re routing and headers [`#4481`](https://github.com/SeldonIO/seldon-core/pull/4481)
+- Enable GPU for docker-compose deployment [`#4496`](https://github.com/SeldonIO/seldon-core/pull/4496)
+- Return meaningful error on empty bucket sync for model uri [`#4487`](https://github.com/SeldonIO/seldon-core/pull/4487)
+- v2: Autoscaling docs - small updates [`#4491`](https://github.com/SeldonIO/seldon-core/pull/4491)
+- improve landing README [`#4493`](https://github.com/SeldonIO/seldon-core/pull/4493)
+- Temporary fix for envtest for operator [`#4492`](https://github.com/SeldonIO/seldon-core/pull/4492)
+- update readme [`#4490`](https://github.com/SeldonIO/seldon-core/pull/4490)
+- Fix model load order and delete rclone folders [`#4477`](https://github.com/SeldonIO/seldon-core/pull/4477)
+- Update API protocs with latest protoc [`#4476`](https://github.com/SeldonIO/seldon-core/pull/4476)
+- do not include V1 changes in V2 changelog [`#4473`](https://github.com/SeldonIO/seldon-core/pull/4473)
+- Generating changelog for v2.1.0 [`428cbb8`](https://github.com/SeldonIO/seldon-core/commit/428cbb82477adabcadb08e4916dbb65451ff6209)
+- Setting version for helm charts [`2502ad6`](https://github.com/SeldonIO/seldon-core/commit/2502ad6474b0a25359090bb1bf458e15c11c4998)
+- Setting version for yaml manifests [`21e2970`](https://github.com/SeldonIO/seldon-core/commit/21e2970d155464a8d3af2a9a06324491aaec26b0)
+
+
+[Changes][v2.1.0]
+
+
+
+## [v1.15.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.15.0) - 06 Dec 2022
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+#### [v1.15.0](https://github.com/SeldonIO/seldon-core/compare/v1.14.1...v1.15.0)
+
+> 5 December 2022
+
+- Images update [`#4463`](https://github.com/SeldonIO/seldon-core/pull/4463)
+- Bump MLServer version to 1.2.0 [`#4448`](https://github.com/SeldonIO/seldon-core/pull/4448)
+- add tar to wrapper image as it is missing after move to ubi-minimal [`#4458`](https://github.com/SeldonIO/seldon-core/pull/4458)
+- 4041 upgrading jaeger [`#4406`](https://github.com/SeldonIO/seldon-core/pull/4406)
+- Bump MLServer version to 1.2.0 [`#4448`](https://github.com/SeldonIO/seldon-core/pull/4448)
+- add tar to wrapper image as it is missing after move to ubi-minimal [`#4458`](https://github.com/SeldonIO/seldon-core/pull/4458)
+- Removing dependabot bot [`#4456`](https://github.com/SeldonIO/seldon-core/pull/4456)
+- factored out _make_rest_metrics_server [`#4446`](https://github.com/SeldonIO/seldon-core/pull/4446)
+- 4041 upgrading jaeger [`#4406`](https://github.com/SeldonIO/seldon-core/pull/4406)
+- Factor out _make_run_grpc_server [`#4351`](https://github.com/SeldonIO/seldon-core/pull/4351)
+- update kind in ansible setup [`#4440`](https://github.com/SeldonIO/seldon-core/pull/4440)
+- Add missing related images for v2 protocol [`#4437`](https://github.com/SeldonIO/seldon-core/pull/4437)
+- Improve Kafka config handling in executor [`#4435`](https://github.com/SeldonIO/seldon-core/pull/4435)
+- Set allowPrivilegeEscalation to false as default value for the service orchestrator [`#4427`](https://github.com/SeldonIO/seldon-core/pull/4427)
+- Allow urllib3 >= 1.26.5 [`#4394`](https://github.com/SeldonIO/seldon-core/pull/4394)
+- push of MLServer images for Red Hat certification [`#4417`](https://github.com/SeldonIO/seldon-core/pull/4417)
+- Enable SSL_SASL for executor request logging [`#4416`](https://github.com/SeldonIO/seldon-core/pull/4416)
+- scan -sc images only for 1.15.0 [`#4419`](https://github.com/SeldonIO/seldon-core/pull/4419)
+- add mlserver-sc and mlserver-sc-slim to security scans [`#4418`](https://github.com/SeldonIO/seldon-core/pull/4418)
+- Update libraries to solve CVEs reported for 1.15.0 build [`#4405`](https://github.com/SeldonIO/seldon-core/pull/4405)
+- Openshift move to quay [`#4392`](https://github.com/SeldonIO/seldon-core/pull/4392)
+- Fix Conda download version [`#4393`](https://github.com/SeldonIO/seldon-core/pull/4393)
+- Fix vim CVE in Alibi images [`#4343`](https://github.com/SeldonIO/seldon-core/pull/4343)
+- Reverted Conda base image to 4.13.0 until patched in 4.14.0 [`#4390`](https://github.com/SeldonIO/seldon-core/pull/4390)
+- Ambassador v2 support [`#4290`](https://github.com/SeldonIO/seldon-core/pull/4290)
+- factored out make_rest_server_debug/prod [`#4268`](https://github.com/SeldonIO/seldon-core/pull/4268)
+- update k8s versions [`#4350`](https://github.com/SeldonIO/seldon-core/pull/4350)
+- Use timer instead of time.After to prevent memory leaks in logger [`#4338`](https://github.com/SeldonIO/seldon-core/pull/4338)
+- Fix resource lock type [`#4342`](https://github.com/SeldonIO/seldon-core/pull/4342)
+- Embedding intro video in docs [`#4337`](https://github.com/SeldonIO/seldon-core/pull/4337)
+- update conda in base image and use ubi9 [`#4329`](https://github.com/SeldonIO/seldon-core/pull/4329)
+- Add reference for V2 Inference Protocol [`#4325`](https://github.com/SeldonIO/seldon-core/pull/4325)
+- Add progress deadline support for SDeps [`#4235`](https://github.com/SeldonIO/seldon-core/pull/4235)
+- Change service key to allow container services to always match correctly [`#4043`](https://github.com/SeldonIO/seldon-core/pull/4043)
+- added comments about routing in predictChildren [`#4267`](https://github.com/SeldonIO/seldon-core/pull/4267)
+- Add UTF-8 support for Flask jsonify [`#4271`](https://github.com/SeldonIO/seldon-core/pull/4271)
+- Ensure request is chained before payload is logged [`#4301`](https://github.com/SeldonIO/seldon-core/pull/4301)
+- Adding licenses updates as part of the post-release process [`#4289`](https://github.com/SeldonIO/seldon-core/pull/4289)
+- add upgrading note on Flask 2.x upgrade [`#4288`](https://github.com/SeldonIO/seldon-core/pull/4288)
+- move to Flask 2.x [`#4286`](https://github.com/SeldonIO/seldon-core/pull/4286)
+- 1.14.1 to master [`#4287`](https://github.com/SeldonIO/seldon-core/pull/4287)
+- Added fix for clashing zombie webhook [`#4265`](https://github.com/SeldonIO/seldon-core/pull/4265)
+- Make verbosity configurable and not leak sensitive values [`#4249`](https://github.com/SeldonIO/seldon-core/pull/4249)
+- Added fix for webhook issues on 1.12.0 [`#4256`](https://github.com/SeldonIO/seldon-core/pull/4256)
+- Update stalebot.yml [`#4250`](https://github.com/SeldonIO/seldon-core/pull/4250)
+- Adding prepackaged server separate pod instructions [`#4238`](https://github.com/SeldonIO/seldon-core/pull/4238)
+- doc: add util comment && identation [`#4242`](https://github.com/SeldonIO/seldon-core/pull/4242)
+- Adding stalebot for issues and PRs with defaults [`#4232`](https://github.com/SeldonIO/seldon-core/pull/4232)
+- Fixed trailing dash created from helm split resources [`#4230`](https://github.com/SeldonIO/seldon-core/pull/4230)
+- Fix Typo in Readme.md [`#4228`](https://github.com/SeldonIO/seldon-core/pull/4228)
+- enh: Add support to configure PrepackedTriton with no storage initialiser [`#4216`](https://github.com/SeldonIO/seldon-core/pull/4216)
+- Added fix for removed guard on webhook [`#4218`](https://github.com/SeldonIO/seldon-core/pull/4218)
+- fixes foldering of the gpt2 minio notebook [`#4197`](https://github.com/SeldonIO/seldon-core/pull/4197)
+- Allow leader election controls for manager [`#4211`](https://github.com/SeldonIO/seldon-core/pull/4211)
+- factored out parse_args [`#4213`](https://github.com/SeldonIO/seldon-core/pull/4213)
+- upgrade pip, conda and setuptools in s2i image [`#4210`](https://github.com/SeldonIO/seldon-core/pull/4210)
+- Fix logging args.grpc_workers [`#4212`](https://github.com/SeldonIO/seldon-core/pull/4212)
+- renamed server_[123]_func to server_[rest|grpc|custom]_func [`#4214`](https://github.com/SeldonIO/seldon-core/pull/4214)
+- typo fix in logging bind_address of gRPC server [`#4200`](https://github.com/SeldonIO/seldon-core/pull/4200)
+- fix metadata [`#4207`](https://github.com/SeldonIO/seldon-core/pull/4207)
+- typo fix in logging number of gRPC threads used [`#4194`](https://github.com/SeldonIO/seldon-core/pull/4194)
+- typo fix in logging number of gRPC workers [`#4195`](https://github.com/SeldonIO/seldon-core/pull/4195)
+- fix link to minio example in triton page [`#4196`](https://github.com/SeldonIO/seldon-core/pull/4196)
+- Added 1.15.0-dev tag [`#4174`](https://github.com/SeldonIO/seldon-core/pull/4174)
+- add missing yaml styling for snippets [`#4170`](https://github.com/SeldonIO/seldon-core/pull/4170)
+- update rest_predict_seldon hardcoded version in route [`#4161`](https://github.com/SeldonIO/seldon-core/pull/4161)
+- update licenses for 1.15.0 release [`449510d`](https://github.com/SeldonIO/seldon-core/commit/449510d6d325bdf21c05fb2ecf5057ca738d42e8)
+- Release 1.15.0 [`3502d35`](https://github.com/SeldonIO/seldon-core/commit/3502d3518196699a3efe5ba2e3d268e0a326a375)
+- new AWS installation guide and updated nav to reflect it [`127ce8d`](https://github.com/SeldonIO/seldon-core/commit/127ce8d8321bc2ac9050d9e8e8f99389ffd841f3)
+
+[Changes][v1.15.0]
+
+
+
+## [v2.0.0](https://github.com/SeldonIO/seldon-core/releases/tag/v2.0.0) - 02 Dec 2022
+
+### Changelog
+
+All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+### [v2.0.0](https://github.com/SeldonIO/seldon-core/compare/v1.15.0...v2.0.0)
+
+> 2 December 2022
+
+- do not include V1 changes in V2 changelog ([#4473](https://github.com/SeldonIO/seldon-core/issues/4473)) [`#4474`](https://github.com/SeldonIO/seldon-core/pull/4474)
+- fix image build [`#4470`](https://github.com/SeldonIO/seldon-core/pull/4470)
+- Update docs to reference new SCv2 location [`#667`](https://github.com/SeldonIO/seldon-core/pull/667)
+- Rename Go modules for repo migration [`#666`](https://github.com/SeldonIO/seldon-core/pull/666)
+- Improve logging for config and log levels [`#453`](https://github.com/SeldonIO/seldon-core/pull/453)
+- Remove versions dropdown and align top bar with SCv1 docs [`#665`](https://github.com/SeldonIO/seldon-core/pull/665)
+- Fix nil pointer exception on scheduler restart [`#664`](https://github.com/SeldonIO/seldon-core/pull/664)
+- Add ReadTheDocs config file [`#663`](https://github.com/SeldonIO/seldon-core/pull/663)
+- remove unnecessary event on unload [`#662`](https://github.com/SeldonIO/seldon-core/pull/662)
+- Fix http calls mirror pipelines not working [`#660`](https://github.com/SeldonIO/seldon-core/pull/660)
+- Fix experiment stop [`#661`](https://github.com/SeldonIO/seldon-core/pull/661)
+- Agent grpc server max connections [`#655`](https://github.com/SeldonIO/seldon-core/pull/655)
+- adjust workflows for migration [`#654`](https://github.com/SeldonIO/seldon-core/pull/654)
+- Fix Server replica Helm templating [`#648`](https://github.com/SeldonIO/seldon-core/pull/648)
+- Add new constant rate scenario [`#652`](https://github.com/SeldonIO/seldon-core/pull/652)
+- revert pipeline create changes [`#651`](https://github.com/SeldonIO/seldon-core/pull/651)
+- use consistent name for consumer groups [`#649`](https://github.com/SeldonIO/seldon-core/pull/649)
+- k6 docker file fixes [`#637`](https://github.com/SeldonIO/seldon-core/pull/637)
+- Change to use mlserver 1.2.0 [`#647`](https://github.com/SeldonIO/seldon-core/pull/647)
+- Add ability to wait on 3 termination for drain [`#644`](https://github.com/SeldonIO/seldon-core/pull/644)
+- Add Helm parameterisation for server replicas [`#643`](https://github.com/SeldonIO/seldon-core/pull/643)
+- Update trailer check to one if block [`#642`](https://github.com/SeldonIO/seldon-core/pull/642)
+- Add huggingface capability to Helm charts [`#641`](https://github.com/SeldonIO/seldon-core/pull/641)
+- only add trailers headers if not nil [`#640`](https://github.com/SeldonIO/seldon-core/pull/640)
+- set parallel workers to zero for explainers and update notebooks [`#632`](https://github.com/SeldonIO/seldon-core/pull/632)
+- Use kafka 3.3.1 by default [`#631`](https://github.com/SeldonIO/seldon-core/pull/631)
+- Prevent terminationGracePeriodSeconds being treated as string in helm charts [`#628`](https://github.com/SeldonIO/seldon-core/pull/628)
+- Run `misspell -w .` on docs [`#626`](https://github.com/SeldonIO/seldon-core/pull/626)
+- Fix typos in pipeline docs [`#625`](https://github.com/SeldonIO/seldon-core/pull/625)
+- fix type of terminationGracePeriodSeconds in helm charts [`#623`](https://github.com/SeldonIO/seldon-core/pull/623)
+- Pipeline Readiness [`#547`](https://github.com/SeldonIO/seldon-core/pull/547)
+- HPA server autoscale [`#590`](https://github.com/SeldonIO/seldon-core/pull/590)
+- MLServer update to 1.2.0.rc5 [`#617`](https://github.com/SeldonIO/seldon-core/pull/617)
+- set chart version also for seldon-core-v2-certs [`#620`](https://github.com/SeldonIO/seldon-core/pull/620)
+- Add validation for empty pipeline steps [`#607`](https://github.com/SeldonIO/seldon-core/pull/607)
+- Adding `UnloadEnvoyRequested` model replica state [`#616`](https://github.com/SeldonIO/seldon-core/pull/616)
+- Add securityContext parameterisation to Kubernetes manifests for OpenShift compatibility [`#606`](https://github.com/SeldonIO/seldon-core/pull/606)
+- Run all notebooks and updates to pipeline validation [`#597`](https://github.com/SeldonIO/seldon-core/pull/597)
+- Model gateway logs [`#613`](https://github.com/SeldonIO/seldon-core/pull/613)
+- Fix k8s version updates [`#612`](https://github.com/SeldonIO/seldon-core/pull/612)
+- Respect MLServer content type in pipeline gateway http server responses [`#600`](https://github.com/SeldonIO/seldon-core/pull/600)
+- Add omitempty tag to parallel_workers field [`#603`](https://github.com/SeldonIO/seldon-core/pull/603)
+- Add resource parameterisation for all components in Helm chart [`#596`](https://github.com/SeldonIO/seldon-core/pull/596)
+- remove duplicated seldon-v2-crds file [`#594`](https://github.com/SeldonIO/seldon-core/pull/594)
+- Ensure kafka consumer reconnects happen by not ending consumers [`#595`](https://github.com/SeldonIO/seldon-core/pull/595)
+- Add pipeline state to k8s resource status [`#591`](https://github.com/SeldonIO/seldon-core/pull/591)
+- Fix pipeline http calls to use headers and reintroduce prom metrics removed [`#580`](https://github.com/SeldonIO/seldon-core/pull/580)
+- Revert to vanilla notebook to markdown conversion [`#585`](https://github.com/SeldonIO/seldon-core/pull/585)
+- Update kind and k8s versions in Ansible setup [`#586`](https://github.com/SeldonIO/seldon-core/pull/586)
+- Return model name in pipeline errors [`#583`](https://github.com/SeldonIO/seldon-core/pull/583)
+- Add Apache 2 Licence to code files [`#584`](https://github.com/SeldonIO/seldon-core/pull/584)
+- Override config file with CLI args for Seldon CLI [`#579`](https://github.com/SeldonIO/seldon-core/pull/579)
+- add rolling update md [`#582`](https://github.com/SeldonIO/seldon-core/pull/582)
+- Updates for Model rolling updates [`#566`](https://github.com/SeldonIO/seldon-core/pull/566)
+- Quickfix/cli pipeline error [`#572`](https://github.com/SeldonIO/seldon-core/pull/572)
+- Quickfix/agent scheduler restart [`#568`](https://github.com/SeldonIO/seldon-core/pull/568)
+- Issue 561 pipeline err [`#569`](https://github.com/SeldonIO/seldon-core/pull/569)
+- Remove redundant pipeline gateway and agent Prometheus metrics [`#554`](https://github.com/SeldonIO/seldon-core/pull/554)
+- Ensure model gateway keeps recalling scheduler and does not restart [`#563`](https://github.com/SeldonIO/seldon-core/pull/563)
+- Docs fix for readthedocs static images [`#565`](https://github.com/SeldonIO/seldon-core/pull/565)
+- Fix static image uris [`#564`](https://github.com/SeldonIO/seldon-core/pull/564)
+- Quickfix/fixstop notready [`#559`](https://github.com/SeldonIO/seldon-core/pull/559)
+- Updating styles + new images [`#548`](https://github.com/SeldonIO/seldon-core/pull/548)
+- Agent startup bug fix [`#558`](https://github.com/SeldonIO/seldon-core/pull/558)
+- only output warning in case of error [`#556`](https://github.com/SeldonIO/seldon-core/pull/556)
+- Add missing Ansible config vars + fix incorrect docs on metric names [`#553`](https://github.com/SeldonIO/seldon-core/pull/553)
+- Remove namespace from Prometheus metric names [`#550`](https://github.com/SeldonIO/seldon-core/pull/550)
+- Issue 518 agent stop cmd [`#523`](https://github.com/SeldonIO/seldon-core/pull/523)
+- small fixes for huggingface demo [`#549`](https://github.com/SeldonIO/seldon-core/pull/549)
+- Fix initial routes for Pipelines and delete of Pipelines from Envoy [`#543`](https://github.com/SeldonIO/seldon-core/pull/543)
+- cert download script and docs [`#544`](https://github.com/SeldonIO/seldon-core/pull/544)
+- Add LICENSE and script to add copyright to Go files [`#542`](https://github.com/SeldonIO/seldon-core/pull/542)
+- fix space in go file name [`#541`](https://github.com/SeldonIO/seldon-core/pull/541)
+- Speech to Sentiment Example Updates [`#540`](https://github.com/SeldonIO/seldon-core/pull/540)
+- Quickfix/add paper reference [`#525`](https://github.com/SeldonIO/seldon-core/pull/525)
+- Huggingface Speech to Sentiment Example [`#519`](https://github.com/SeldonIO/seldon-core/pull/519)
+- Bump MLServer version [`#538`](https://github.com/SeldonIO/seldon-core/pull/538)
+- small fixes for mlserver, docs and envoy yaml [`#537`](https://github.com/SeldonIO/seldon-core/pull/537)
+- [CLI] Support authority headers for control-plane subcommands [`#531`](https://github.com/SeldonIO/seldon-core/pull/531)
+- Add missing Envoy patch file for Kustomize generation of Helm charts [`#536`](https://github.com/SeldonIO/seldon-core/pull/536)
+- [CLI] Use positional args for resource name in CLI server-status subcommand [`#533`](https://github.com/SeldonIO/seldon-core/pull/533)
+- [CLI] Use cURL-style request metadata logging for gRPC [`#528`](https://github.com/SeldonIO/seldon-core/pull/528)
+- Add gRPC service name prefix in components Helm chart [`#530`](https://github.com/SeldonIO/seldon-core/pull/530)
+- Add initial drift and outlier docs [`#529`](https://github.com/SeldonIO/seldon-core/pull/529)
+- [CLI] Support authority headers for inference requests [`#526`](https://github.com/SeldonIO/seldon-core/pull/526)
+- Use cURL-style request metadata logging in Seldon CLI [`#524`](https://github.com/SeldonIO/seldon-core/pull/524)
+- Add Helm parameterisation for scheduler and Envoy service types [`#520`](https://github.com/SeldonIO/seldon-core/pull/520)
+- Add a note about resetting model autoscaling [`#517`](https://github.com/SeldonIO/seldon-core/pull/517)
+- Update autoscaling docs [`#514`](https://github.com/SeldonIO/seldon-core/pull/514)
+- Issue 507 model autoscaling docs [`#513`](https://github.com/SeldonIO/seldon-core/pull/513)
+- Add huggingface as runtime and example [`#511`](https://github.com/SeldonIO/seldon-core/pull/511)
+- Install doc updates and developer doc additions [`#510`](https://github.com/SeldonIO/seldon-core/pull/510)
+- Add server and certs Helm charts and raw manifests to published assets [`#508`](https://github.com/SeldonIO/seldon-core/pull/508)
+- Issue 445 scheduler model autoscale [`#472`](https://github.com/SeldonIO/seldon-core/pull/472)
+- Add ssl_verify_path for explainer TLS [`#495`](https://github.com/SeldonIO/seldon-core/pull/495)
+- Notebook doc updates [`#499`](https://github.com/SeldonIO/seldon-core/pull/499)
+- Run inference servers as non root locally [`#500`](https://github.com/SeldonIO/seldon-core/pull/500)
+- Bump Kustomize to v4.5.4 [`#497`](https://github.com/SeldonIO/seldon-core/pull/497)
+- Handle scheduler errors in controller and decide if retryable [`#484`](https://github.com/SeldonIO/seldon-core/pull/484)
+- undeploy local before deploy local [`#496`](https://github.com/SeldonIO/seldon-core/pull/496)
+- Fix Strimzi Helm values ZK indent bug + stale broker service name [`#492`](https://github.com/SeldonIO/seldon-core/pull/492)
+- tidy up notebook with more models for triton [`#494`](https://github.com/SeldonIO/seldon-core/pull/494)
+- revert REQUESTS_CA_BUNDLE [`#491`](https://github.com/SeldonIO/seldon-core/pull/491)
+- improve CLI config load errors [`#489`](https://github.com/SeldonIO/seldon-core/pull/489)
+- remove colors from outputs in batch examples [`#482`](https://github.com/SeldonIO/seldon-core/pull/482)
+- Update README.md [`#488`](https://github.com/SeldonIO/seldon-core/pull/488)
+- Use Helm chart for Kafka cluster setup [`#477`](https://github.com/SeldonIO/seldon-core/pull/477)
+- Add batch examples to docs [`#481`](https://github.com/SeldonIO/seldon-core/pull/481)
+- simplify overcommit notebook example [`#476`](https://github.com/SeldonIO/seldon-core/pull/476)
+- Add log level config to dataflow engine [`#456`](https://github.com/SeldonIO/seldon-core/pull/456)
+- add tritonclient example [`#443`](https://github.com/SeldonIO/seldon-core/pull/443)
+- inference examples and raw contents fix [`#468`](https://github.com/SeldonIO/seldon-core/pull/468)
+- Release 0.2 testing [`#463`](https://github.com/SeldonIO/seldon-core/pull/463)
+- Issue 451 metrics fix [`#455`](https://github.com/SeldonIO/seldon-core/pull/455)
+- fix kafka namespace: kafka -> seldon-mesh [`#464`](https://github.com/SeldonIO/seldon-core/pull/464)
+- Fix missing pipeline ID in data-flow engine consumer groups [`#462`](https://github.com/SeldonIO/seldon-core/pull/462)
+- Small docs updates [`#459`](https://github.com/SeldonIO/seldon-core/pull/459)
+- Envoy TLS [`#446`](https://github.com/SeldonIO/seldon-core/pull/446)
+- Issue 452 Fix nil deference in pipeline inspection in CLI [`#454`](https://github.com/SeldonIO/seldon-core/pull/454)
+- docs update [`#448`](https://github.com/SeldonIO/seldon-core/pull/448)
+- Model autoscaling (agent) [`#440`](https://github.com/SeldonIO/seldon-core/pull/440)
+- Kafka SSL plus refactor of Control Plane SSL [`#441`](https://github.com/SeldonIO/seldon-core/pull/441)
+- Add mTLS for data-flow engine [`#439`](https://github.com/SeldonIO/seldon-core/pull/439)
+- Issue-433 Upgrade dataflow engine dependencies [`#438`](https://github.com/SeldonIO/seldon-core/pull/438)
+- Remove timestamp, better verbose description [`#437`](https://github.com/SeldonIO/seldon-core/pull/437)
+- Add agent mTLS [`#430`](https://github.com/SeldonIO/seldon-core/pull/430)
+- Allow seldon inspect to output raw or json [`#432`](https://github.com/SeldonIO/seldon-core/pull/432)
+- minor fix for k6 tests env [`#431`](https://github.com/SeldonIO/seldon-core/pull/431)
+- fix hodometer docker build [`#428`](https://github.com/SeldonIO/seldon-core/pull/428)
+- Fix operator Docker build [`#427`](https://github.com/SeldonIO/seldon-core/pull/427)
+- fix typo [`#426`](https://github.com/SeldonIO/seldon-core/pull/426)
+- fix experiment yaml [`#424`](https://github.com/SeldonIO/seldon-core/pull/424)
+- Use separate Go module for generated API client [`#422`](https://github.com/SeldonIO/seldon-core/pull/422)
+- Shadows [`#404`](https://github.com/SeldonIO/seldon-core/pull/404)
+- Parameterized models [`#419`](https://github.com/SeldonIO/seldon-core/pull/419)
+- fix experiment version bug and add notebook [`#420`](https://github.com/SeldonIO/seldon-core/pull/420)
+- add missing [`#418`](https://github.com/SeldonIO/seldon-core/pull/418)
+- update notebook docs [`#417`](https://github.com/SeldonIO/seldon-core/pull/417)
+- Fix lazy reload [`#416`](https://github.com/SeldonIO/seldon-core/pull/416)
+- fix x-seldon-route headers in pipeline chains [`#415`](https://github.com/SeldonIO/seldon-core/pull/415)
+- Fix issues with versions of pipelines [`#414`](https://github.com/SeldonIO/seldon-core/pull/414)
+- Update to mlserver.1.2.0-dev5 [`#412`](https://github.com/SeldonIO/seldon-core/pull/412)
+- small docs update [`#411`](https://github.com/SeldonIO/seldon-core/pull/411)
+- Fix experiment bug [`#405`](https://github.com/SeldonIO/seldon-core/pull/405)
+- Refactor pipeline subscriber for separation of concerns [`#408`](https://github.com/SeldonIO/seldon-core/pull/408)
+- Tidy Kafka config handling [`#407`](https://github.com/SeldonIO/seldon-core/pull/407)
+- Scale KStream threads with pipeline steps [`#406`](https://github.com/SeldonIO/seldon-core/pull/406)
+- Add control plane TLS [`#397`](https://github.com/SeldonIO/seldon-core/pull/397)
+- Use Distroless image for dataflow engine [`#403`](https://github.com/SeldonIO/seldon-core/pull/403)
+- Re-use topology builder for entire pipeline in dataflow engine [`#402`](https://github.com/SeldonIO/seldon-core/pull/402)
+- Docker compose fixes and image size reduction [`#401`](https://github.com/SeldonIO/seldon-core/pull/401)
+- fix bugs with container dockerfiles [`#398`](https://github.com/SeldonIO/seldon-core/pull/398)
+- Issue-393 Use Distroless images for Go apps [`#396`](https://github.com/SeldonIO/seldon-core/pull/396)
+- Fix helm docs and updating linting [`#392`](https://github.com/SeldonIO/seldon-core/pull/392)
+- Namespaced controller [`#380`](https://github.com/SeldonIO/seldon-core/pull/380)
+- Revert "k8s codegen script and generated client ([#377](https://github.com/SeldonIO/seldon-core/issues/377))" [`#391`](https://github.com/SeldonIO/seldon-core/pull/391)
+- update cifar10 example [`#390`](https://github.com/SeldonIO/seldon-core/pull/390)
+- Fix scheduler PVC volume not writable on GKE [`#387`](https://github.com/SeldonIO/seldon-core/pull/387)
+- Issue-373 Remove irrelevant k8s metrics from Hodometer [`#381`](https://github.com/SeldonIO/seldon-core/pull/381)
+- k8s codegen script and generated client [`#377`](https://github.com/SeldonIO/seldon-core/pull/377)
+- Add per pipeline histogram metrics [`#382`](https://github.com/SeldonIO/seldon-core/pull/382)
+- Fix: update k8s CRDs after experiment change [`#379`](https://github.com/SeldonIO/seldon-core/pull/379)
+- income example [`#378`](https://github.com/SeldonIO/seldon-core/pull/378)
+- Passing parameters to batched requests from data-flow engine [`#374`](https://github.com/SeldonIO/seldon-core/pull/374)
+- Enable pipelinegateway multi topics consumer [`#372`](https://github.com/SeldonIO/seldon-core/pull/372)
+- Refactor metrics and add separate pipeline and model metrics [`#371`](https://github.com/SeldonIO/seldon-core/pull/371)
+- Enable kafka kraft in k8s [`#370`](https://github.com/SeldonIO/seldon-core/pull/370)
+- Modelgateway topic to consumer consistent hashing [`#368`](https://github.com/SeldonIO/seldon-core/pull/368)
+- Pipeline Experiments [`#360`](https://github.com/SeldonIO/seldon-core/pull/360)
+- Read custom server example [`#361`](https://github.com/SeldonIO/seldon-core/pull/361)
+- Change admin client create for create topics [`#359`](https://github.com/SeldonIO/seldon-core/pull/359)
+- Various fixes for `modelgateway` usage at scale [`#358`](https://github.com/SeldonIO/seldon-core/pull/358)
+- Add mlflow model in k6 examples [`#349`](https://github.com/SeldonIO/seldon-core/pull/349)
+- fix sticky session usage with header addtion in lua [`#354`](https://github.com/SeldonIO/seldon-core/pull/354)
+- Add Makefile support for Compose build param [`#356`](https://github.com/SeldonIO/seldon-core/pull/356)
+- Add Hodometer service dependency on scheduler in Compose [`#355`](https://github.com/SeldonIO/seldon-core/pull/355)
+- add envs for otel enable in docker compose [`#347`](https://github.com/SeldonIO/seldon-core/pull/347)
+- Use right image for hodometer and add helper for pulling images [`#350`](https://github.com/SeldonIO/seldon-core/pull/350)
+- Add usage metrics (Hodometer) docs [`#343`](https://github.com/SeldonIO/seldon-core/pull/343)
+- Explainers [`#298`](https://github.com/SeldonIO/seldon-core/pull/298)
+- add release process description [`#329`](https://github.com/SeldonIO/seldon-core/pull/329)
+- fix trigger joins [`#340`](https://github.com/SeldonIO/seldon-core/pull/340)
+- add `hodometer` to the list of images to be built by GA [`#344`](https://github.com/SeldonIO/seldon-core/pull/344)
+- Move `CHANGELOG.md` to top level [`#342`](https://github.com/SeldonIO/seldon-core/pull/342)
+- Add hodometer deployments [`#318`](https://github.com/SeldonIO/seldon-core/pull/318)
+- v0.1.0 change log [`#337`](https://github.com/SeldonIO/seldon-core/pull/337)
+- Fix pipelinegateway panic upon kafka reconnect [`#339`](https://github.com/SeldonIO/seldon-core/pull/339)
+- Add sticky sessions for experiments [`#250`](https://github.com/SeldonIO/seldon-core/pull/250)
+- Fix shm config for loading python model on triton (k8s) [`#338`](https://github.com/SeldonIO/seldon-core/pull/338)
+- Ignore RC builds in generated core-release notes [`#336`](https://github.com/SeldonIO/seldon-core/pull/336)
+- Update README.md [`#330`](https://github.com/SeldonIO/seldon-core/pull/330)
+- V2 release process [`#327`](https://github.com/SeldonIO/seldon-core/pull/327)
+- add missing kustomize patch + version setting helpers [`#322`](https://github.com/SeldonIO/seldon-core/pull/322)
+- Remove duplicated Compose image tags in Makefile [`#325`](https://github.com/SeldonIO/seldon-core/pull/325)
+- add img overrides for compose [`#324`](https://github.com/SeldonIO/seldon-core/pull/324)
+- Ensure X-Request-ID is returned and allow CLI inspect to use [`#314`](https://github.com/SeldonIO/seldon-core/pull/314)
+- Add container merge sematics for easier custom servers [`#315`](https://github.com/SeldonIO/seldon-core/pull/315)
+- Add server status update batching [`#307`](https://github.com/SeldonIO/seldon-core/pull/307)
+- Sherif akoush/demo fixes [`#312`](https://github.com/SeldonIO/seldon-core/pull/312)
+- Add build info to Hodometer Docker images [`#304`](https://github.com/SeldonIO/seldon-core/pull/304)
+- Add batching for XDS server updates [`#248`](https://github.com/SeldonIO/seldon-core/pull/248)
+- Add Kubernetes metrics to Hodometer [`#299`](https://github.com/SeldonIO/seldon-core/pull/299)
+- Modelgateway issue [`#296`](https://github.com/SeldonIO/seldon-core/pull/296)
+- Experiment store [`#292`](https://github.com/SeldonIO/seldon-core/pull/292)
+- Sherif akoush/upgrade mlserver 1.1 [`#294`](https://github.com/SeldonIO/seldon-core/pull/294)
+- Sherif akoush/http lazy load fix [`#293`](https://github.com/SeldonIO/seldon-core/pull/293)
+- Sherif akoush/lazy load model in restart [`#291`](https://github.com/SeldonIO/seldon-core/pull/291)
+- Num modelgateway workers fix [`#290`](https://github.com/SeldonIO/seldon-core/pull/290)
+- Robustness fixes [`#287`](https://github.com/SeldonIO/seldon-core/pull/287)
+- Modelgateway workers from envar [`#288`](https://github.com/SeldonIO/seldon-core/pull/288)
+- Sherif akoush/create snapshot optimisation [`#285`](https://github.com/SeldonIO/seldon-core/pull/285)
+- Modelgateway threads [`#278`](https://github.com/SeldonIO/seldon-core/pull/278)
+- Fix trigger join [`#282`](https://github.com/SeldonIO/seldon-core/pull/282)
+- Pipeline db fixes [`#283`](https://github.com/SeldonIO/seldon-core/pull/283)
+- Allow model scaling, k6 constant throughput tests and Prometheus/Grafana in Docker Compose install [`#262`](https://github.com/SeldonIO/seldon-core/pull/262)
+- Sherif akoush/improve replica sorting [`#280`](https://github.com/SeldonIO/seldon-core/pull/280)
+- do not run action to build/push images on forks [`#269`](https://github.com/SeldonIO/seldon-core/pull/269)
+- fix workflow dispatch inputs for image building [`#268`](https://github.com/SeldonIO/seldon-core/pull/268)
+- Change Envoy LB Algorithm to Least Requests [`#265`](https://github.com/SeldonIO/seldon-core/pull/265)
+- Request metadata [`#264`](https://github.com/SeldonIO/seldon-core/pull/264)
+- Use static Kafka consumer in Kstreams [`#260`](https://github.com/SeldonIO/seldon-core/pull/260)
+- Scheduler db folder docker [`#261`](https://github.com/SeldonIO/seldon-core/pull/261)
+- Tracing config [`#225`](https://github.com/SeldonIO/seldon-core/pull/225)
+- Separate event publish from locked updates to data structures [`#254`](https://github.com/SeldonIO/seldon-core/pull/254)
+- add mnt folder to git with .keep file [`#255`](https://github.com/SeldonIO/seldon-core/pull/255)
+- small update to docs [`#253`](https://github.com/SeldonIO/seldon-core/pull/253)
+- Dataflow doc [`#245`](https://github.com/SeldonIO/seldon-core/pull/245)
+- Update index.md [`#249`](https://github.com/SeldonIO/seldon-core/pull/249)
+- update cifar10 demo [`#247`](https://github.com/SeldonIO/seldon-core/pull/247)
+- Metrics dashboard docs [`#244`](https://github.com/SeldonIO/seldon-core/pull/244)
+- fix http reverse proxy port issue [`#243`](https://github.com/SeldonIO/seldon-core/pull/243)
+- add workflow that builds and push images [`#234`](https://github.com/SeldonIO/seldon-core/pull/234)
+- Cli command updates [`#242`](https://github.com/SeldonIO/seldon-core/pull/242)
+- Sherif akoush/metrics dashboard [`#241`](https://github.com/SeldonIO/seldon-core/pull/241)
+- add longer default timeout in Envoy configuration [`#239`](https://github.com/SeldonIO/seldon-core/pull/239)
+- Optimise XDS server route creation [`#237`](https://github.com/SeldonIO/seldon-core/pull/237)
+- v2 control plane grpc + various fixes for scalability [`#229`](https://github.com/SeldonIO/seldon-core/pull/229)
+- Some text updates, new reference [`#236`](https://github.com/SeldonIO/seldon-core/pull/236)
+- Update index.md [`#235`](https://github.com/SeldonIO/seldon-core/pull/235)
+- Pipeline Persistence [`#188`](https://github.com/SeldonIO/seldon-core/pull/188)
+- Add locks to streams [`#231`](https://github.com/SeldonIO/seldon-core/pull/231)
+- small docs title page update [`#228`](https://github.com/SeldonIO/seldon-core/pull/228)
+- add locks around stream send [`#226`](https://github.com/SeldonIO/seldon-core/pull/226)
+- docs updates [`#227`](https://github.com/SeldonIO/seldon-core/pull/227)
+- Add Hodometer stub receiver [`#211`](https://github.com/SeldonIO/seldon-core/pull/211)
+- update cli export flags docs [`#224`](https://github.com/SeldonIO/seldon-core/pull/224)
+- Experiment status [`#212`](https://github.com/SeldonIO/seldon-core/pull/212)
+- fix trigger NullPointer exception [`#221`](https://github.com/SeldonIO/seldon-core/pull/221)
+- docs update [`#222`](https://github.com/SeldonIO/seldon-core/pull/222)
+- fix external port for kafka when running internally [`#220`](https://github.com/SeldonIO/seldon-core/pull/220)
+- Change port to avoid conflict [`#219`](https://github.com/SeldonIO/seldon-core/pull/219)
+- read events in go routines [`#215`](https://github.com/SeldonIO/seldon-core/pull/215)
+- Update server snapshot creation in scheduler [`#214`](https://github.com/SeldonIO/seldon-core/pull/214)
+- Sherif akoush/fix v2client load [`#210`](https://github.com/SeldonIO/seldon-core/pull/210)
+- Sherif akoush/add evict metrics [`#184`](https://github.com/SeldonIO/seldon-core/pull/184)
+- CIFAR10 Example and CLI Pipeline inspect [`#207`](https://github.com/SeldonIO/seldon-core/pull/207)
+- Add short names to CRDs [`#209`](https://github.com/SeldonIO/seldon-core/pull/209)
+- update pipeline status and finalizer check [`#208`](https://github.com/SeldonIO/seldon-core/pull/208)
+- Cli updates [`#199`](https://github.com/SeldonIO/seldon-core/pull/199)
+- Helm chart creation [`#193`](https://github.com/SeldonIO/seldon-core/pull/193)
+- Kafka configuration via config files [`#189`](https://github.com/SeldonIO/seldon-core/pull/189)
+- Alibi-detect iris drift detection example [`#191`](https://github.com/SeldonIO/seldon-core/pull/191)
+- throw errors in CLI on bad yaml [`#198`](https://github.com/SeldonIO/seldon-core/pull/198)
+- Add usage metrics collector [`#181`](https://github.com/SeldonIO/seldon-core/pull/181)
+- Add model metadata to CLI [`#187`](https://github.com/SeldonIO/seldon-core/pull/187)
+- update install docs for Ansible [`#190`](https://github.com/SeldonIO/seldon-core/pull/190)
+- Allow max message size in kafka and grpc [`#186`](https://github.com/SeldonIO/seldon-core/pull/186)
+- change kafka to bitnami [`#185`](https://github.com/SeldonIO/seldon-core/pull/185)
+- Allow for more informative scheduling errors [`#182`](https://github.com/SeldonIO/seldon-core/pull/182)
+- Add kafka Produce and Consume Tracing Spans [`#178`](https://github.com/SeldonIO/seldon-core/pull/178)
+- Sherif akoush/report same message from agent [`#183`](https://github.com/SeldonIO/seldon-core/pull/183)
+- Requests batch processing transformer implementation [`#135`](https://github.com/SeldonIO/seldon-core/pull/135)
+- fix docker compose for host network [`#177`](https://github.com/SeldonIO/seldon-core/pull/177)
+- Ansible: add jaeger and opentelemetry [`#172`](https://github.com/SeldonIO/seldon-core/pull/172)
+- Add server extra capabilities [`#169`](https://github.com/SeldonIO/seldon-core/pull/169)
+- Update memory.go [`#173`](https://github.com/SeldonIO/seldon-core/pull/173)
+- Parametrize ansible [`#167`](https://github.com/SeldonIO/seldon-core/pull/167)
+- Update Configuration.kt [`#166`](https://github.com/SeldonIO/seldon-core/pull/166)
+- add inference docs [`#165`](https://github.com/SeldonIO/seldon-core/pull/165)
+- initial ansible playbooks [`#154`](https://github.com/SeldonIO/seldon-core/pull/154)
+- Further Docs [`#163`](https://github.com/SeldonIO/seldon-core/pull/163)
+- Open Telemetry Tracing [`#160`](https://github.com/SeldonIO/seldon-core/pull/160)
+- make pipeline different from modelname [`#162`](https://github.com/SeldonIO/seldon-core/pull/162)
+- Sherif akoush/k6 dataflow [`#149`](https://github.com/SeldonIO/seldon-core/pull/149)
+- Pipeline inputs [`#158`](https://github.com/SeldonIO/seldon-core/pull/158)
+- fix locks in pipeline state set [`#159`](https://github.com/SeldonIO/seldon-core/pull/159)
+- Add Pipeline Triggers [`#152`](https://github.com/SeldonIO/seldon-core/pull/152)
+- tutorial docs section [`#156`](https://github.com/SeldonIO/seldon-core/pull/156)
+- Allow local model folders [`#153`](https://github.com/SeldonIO/seldon-core/pull/153)
+- Docs update [`#150`](https://github.com/SeldonIO/seldon-core/pull/150)
+- Use Gradle directly in dataflow engine Docker build [`#148`](https://github.com/SeldonIO/seldon-core/pull/148)
+- allow both mlserver and triton to be started locally [`#146`](https://github.com/SeldonIO/seldon-core/pull/146)
+- Add clearer state logging for chainer and joiner [`#145`](https://github.com/SeldonIO/seldon-core/pull/145)
+- Add state listeners to kstreams to wait while rebalancing takes place [`#144`](https://github.com/SeldonIO/seldon-core/pull/144)
+- Conditional and Error Pipelines [`#143`](https://github.com/SeldonIO/seldon-core/pull/143)
+- Pipelines on k8s [`#142`](https://github.com/SeldonIO/seldon-core/pull/142)
+- Added install command for local examples notebook [`#141`](https://github.com/SeldonIO/seldon-core/pull/141)
+- Dataflow updates [`#140`](https://github.com/SeldonIO/seldon-core/pull/140)
+- fix dataflow bugs [`#139`](https://github.com/SeldonIO/seldon-core/pull/139)
+- Update dataflow joiner [`#137`](https://github.com/SeldonIO/seldon-core/pull/137)
+- Update golangci-lint to 1.45.2 [`#138`](https://github.com/SeldonIO/seldon-core/pull/138)
+- Pipelines with Join [`#136`](https://github.com/SeldonIO/seldon-core/pull/136)
+- Add features page placeholder [`#133`](https://github.com/SeldonIO/seldon-core/pull/133)
+- Add Docker setup for data-flow engine [`#134`](https://github.com/SeldonIO/seldon-core/pull/134)
+- Docs - add k8s resources [`#132`](https://github.com/SeldonIO/seldon-core/pull/132)
+- Docs Draft Outline [`#131`](https://github.com/SeldonIO/seldon-core/pull/131)
+- Fix data-flow Gradle setup [`#130`](https://github.com/SeldonIO/seldon-core/pull/130)
+- Add Kafka Streams data-flow engine [`#119`](https://github.com/SeldonIO/seldon-core/pull/119)
+- pick free port in test [`#128`](https://github.com/SeldonIO/seldon-core/pull/128)
+- add mlserver protos extensions back [`#127`](https://github.com/SeldonIO/seldon-core/pull/127)
+- Persisting k6 results to GCS bucket [`#125`](https://github.com/SeldonIO/seldon-core/pull/125)
+- Add an outline of software design doc [`#126`](https://github.com/SeldonIO/seldon-core/pull/126)
+- rename stream to modelgateway [`#124`](https://github.com/SeldonIO/seldon-core/pull/124)
+- Sherif akoush/various fixes for testing [`#117`](https://github.com/SeldonIO/seldon-core/pull/117)
+- initial docs setup [`#123`](https://github.com/SeldonIO/seldon-core/pull/123)
+- CLI plus updated sample notebooks [`#120`](https://github.com/SeldonIO/seldon-core/pull/120)
+- Disable auto-loading of models in MLServer at start-up via env vars [`#122`](https://github.com/SeldonIO/seldon-core/pull/122)
+- Pipeline operator [`#118`](https://github.com/SeldonIO/seldon-core/pull/118)
+- Pipelines [`#107`](https://github.com/SeldonIO/seldon-core/pull/107)
+- Wire up overcommit with scheduler [`#111`](https://github.com/SeldonIO/seldon-core/pull/111)
+- proto update for chainer [`#109`](https://github.com/SeldonIO/seldon-core/pull/109)
+- Experiments v1 [`#106`](https://github.com/SeldonIO/seldon-core/pull/106)
+- chainer protos [`#108`](https://github.com/SeldonIO/seldon-core/pull/108)
+- Sherif akoush/simplify locks [`#103`](https://github.com/SeldonIO/seldon-core/pull/103)
+- Sherif akoush/remove version code agent [`#102`](https://github.com/SeldonIO/seldon-core/pull/102)
+- Stream integration with Kafka [`#104`](https://github.com/SeldonIO/seldon-core/pull/104)
+- Add event bus for scheduler-internal events [`#99`](https://github.com/SeldonIO/seldon-core/pull/99)
+- Fix maybe parsing methods so not a fatal on not found [`#96`](https://github.com/SeldonIO/seldon-core/pull/96)
+- Refactor Agent cmd package and argument parsing [`#83`](https://github.com/SeldonIO/seldon-core/pull/83)
+- replace loaded models with versioned models key [`#88`](https://github.com/SeldonIO/seldon-core/pull/88)
+- Add memory sorter to default scheduler [`#91`](https://github.com/SeldonIO/seldon-core/pull/91)
+- fix rclone host docker compose config [`#94`](https://github.com/SeldonIO/seldon-core/pull/94)
+- Sherif akoush/update v2 protos in notebooks [`#93`](https://github.com/SeldonIO/seldon-core/pull/93)
+- Sherif akoush/scv2 50/flatten versions (and various other fixes) [`#86`](https://github.com/SeldonIO/seldon-core/pull/86)
+- Prometheus Inference Metrics [`#82`](https://github.com/SeldonIO/seldon-core/pull/82)
+- Traffic split envoy [`#79`](https://github.com/SeldonIO/seldon-core/pull/79)
+- Docker compose updates [`#84`](https://github.com/SeldonIO/seldon-core/pull/84)
+- Use Compose for Docker-based Make targets [`#81`](https://github.com/SeldonIO/seldon-core/pull/81)
+- Wiring up proxies [`#78`](https://github.com/SeldonIO/seldon-core/pull/78)
+- Add Docker Compose manifests [`#77`](https://github.com/SeldonIO/seldon-core/pull/77)
+- Sherif akoush/reverse proxy grpc 2 [`#72`](https://github.com/SeldonIO/seldon-core/pull/72)
+- K6 Load Tests [`#69`](https://github.com/SeldonIO/seldon-core/pull/69)
+- Service Mesh experiments Istio, Traefik, Ambassador [`#70`](https://github.com/SeldonIO/seldon-core/pull/70)
+- Sherif akoush/Memory over-commit (reverse proxy) [`#18`](https://github.com/SeldonIO/seldon-core/pull/18)
+- Server Custom Resource [`#41`](https://github.com/SeldonIO/seldon-core/pull/41)
+- Versioning [`#40`](https://github.com/SeldonIO/seldon-core/pull/40)
+- Move Protobuf contracts to top-level [`#39`](https://github.com/SeldonIO/seldon-core/pull/39)
+- Initial Operator update for Model resource [`#20`](https://github.com/SeldonIO/seldon-core/pull/20)
+- Add scheduler proxy/stub [`#38`](https://github.com/SeldonIO/seldon-core/pull/38)
+- Dynamic RClone Configuration [`#8`](https://github.com/SeldonIO/seldon-core/pull/8)
+- Format the code for new lines at end of file (gofmt) [`#11`](https://github.com/SeldonIO/seldon-core/pull/11)
+- Add github actions for linting and tests [`#10`](https://github.com/SeldonIO/seldon-core/pull/10)
+- Add golangci-lint linters and fix existing lint failures [`#9`](https://github.com/SeldonIO/seldon-core/pull/9)
+- Add payload logging with Envoy Taps [`#1`](https://github.com/SeldonIO/seldon-core/pull/1)
+- Updated to non deprecated grpc settings [`#29`](https://github.com/SeldonIO/seldon-core/pull/29)
+- add gRPC inference [`#28`](https://github.com/SeldonIO/seldon-core/pull/28)
+- Seldon Core V2 Scheduler Update [`#27`](https://github.com/SeldonIO/seldon-core/pull/27)
+- Add V2 APIs and Samples [`#26`](https://github.com/SeldonIO/seldon-core/pull/26)
+- New Operator APIs [`#25`](https://github.com/SeldonIO/seldon-core/pull/25)
+- Remove initial operator [`#24`](https://github.com/SeldonIO/seldon-core/pull/24)
+- SCV2 POC Update [`#23`](https://github.com/SeldonIO/seldon-core/pull/23)
+- Seldon Core V2 - Scheduler experiments [`#22`](https://github.com/SeldonIO/seldon-core/pull/22)
+- Seldon core v2 (add smoke test) [`#21`](https://github.com/SeldonIO/seldon-core/pull/21)
+- Seldon core v2 (further updates) [`#20`](https://github.com/SeldonIO/seldon-core/pull/20)
+- Generating changelog for v2.0.0 [`014a935`](https://github.com/SeldonIO/seldon-core/commit/014a935cc3a8e93f0e1a25b2580ee55054fe27a8)
+- Seldon V2 APIs initial Draft [`02d963c`](https://github.com/SeldonIO/seldon-core/commit/02d963c378826704532dcaf60287bbad55cc26ff)
+- Generating changelog for v2.0.0 [`d955a61`](https://github.com/SeldonIO/seldon-core/commit/d955a61342e9f4c1833eed9f6ef1c38e318c5c4d)
+- Initial commit for Model reconcile [`a1dfb6d`](https://github.com/SeldonIO/seldon-core/commit/a1dfb6d7f5f332714439aa7d6bb0bb4c14fdc7ce)
+- update status for model [`d127e19`](https://github.com/SeldonIO/seldon-core/commit/d127e19644dfd01c418fd4279ac21215bd151931)
+
+
+[Changes][v2.0.0]
+
+
+
+## [v1.14.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.14.1) - 18 Aug 2022
+
+# [v1.14.1](https://github.com/SeldonIO/seldon-core/compare/v1.14.0...v1.14.1)
+
+> 17 August 2022
+- Added fix for clashing zombie webhook [`#4265`](https://github.com/SeldonIO/seldon-core/pull/4265)
+- fix workflow on red hat image scan process [`#4259`](https://github.com/SeldonIO/seldon-core/pull/4259)
+- Make verbosity configurable and not leak sensitive values [`#4249`](https://github.com/SeldonIO/seldon-core/pull/4249)
+- Make verbosity configurable and not leak sensitive values [`#4249`](https://github.com/SeldonIO/seldon-core/pull/4249)
+- Added fix for webhook issues on 1.12.0 [`#4256`](https://github.com/SeldonIO/seldon-core/pull/4256)
+- Update stalebot.yml [`#4250`](https://github.com/SeldonIO/seldon-core/pull/4250)
+- Adding prepackaged server separate pod instructions [`#4238`](https://github.com/SeldonIO/seldon-core/pull/4238)
+- doc: add util comment && identation [`#4242`](https://github.com/SeldonIO/seldon-core/pull/4242)
+- Adding stalebot for issues and PRs with defaults [`#4232`](https://github.com/SeldonIO/seldon-core/pull/4232)
+- Fixed trailing dash created from helm split resources [`#4230`](https://github.com/SeldonIO/seldon-core/pull/4230)
+- Fix Typo in Readme.md [`#4228`](https://github.com/SeldonIO/seldon-core/pull/4228)
+- enh: Add support to configure PrepackedTriton with no storage initialiser [`#4216`](https://github.com/SeldonIO/seldon-core/pull/4216)
+- Added fix for removed guard on webhook [`#4218`](https://github.com/SeldonIO/seldon-core/pull/4218)
+- fixes foldering of the gpt2 minio notebook [`#4197`](https://github.com/SeldonIO/seldon-core/pull/4197)
+- Allow leader election controls for manager [`#4211`](https://github.com/SeldonIO/seldon-core/pull/4211)
+- factored out parse_args [`#4213`](https://github.com/SeldonIO/seldon-core/pull/4213)
+- upgrade pip, conda and setuptools in s2i image [`#4210`](https://github.com/SeldonIO/seldon-core/pull/4210)
+- Fix logging args.grpc_workers [`#4212`](https://github.com/SeldonIO/seldon-core/pull/4212)
+- renamed server_[123]_func to server_[rest|grpc|custom]_func [`#4214`](https://github.com/SeldonIO/seldon-core/pull/4214)
+- typo fix in logging bind_address of gRPC server [`#4200`](https://github.com/SeldonIO/seldon-core/pull/4200)
+- fix metadata [`#4207`](https://github.com/SeldonIO/seldon-core/pull/4207)
+- typo fix in logging number of gRPC threads used [`#4194`](https://github.com/SeldonIO/seldon-core/pull/4194)
+- typo fix in logging number of gRPC workers [`#4195`](https://github.com/SeldonIO/seldon-core/pull/4195)
+- fix link to minio example in triton page [`#4196`](https://github.com/SeldonIO/seldon-core/pull/4196)
+- Added 1.15.0-dev tag [`#4174`](https://github.com/SeldonIO/seldon-core/pull/4174)
+- add missing yaml styling for snippets [`#4170`](https://github.com/SeldonIO/seldon-core/pull/4170)
+- update rest_predict_seldon hardcoded version in route [`#4161`](https://github.com/SeldonIO/seldon-core/pull/4161)
+- certified operator: create bundle (step 1) [`602b4c2`](https://github.com/SeldonIO/seldon-core/commit/602b4c2550a3c95fbbc886256e21cf9aa7efad0d)
+- update 1.14.0 community bundle for OpenShift [`05ec72b`](https://github.com/SeldonIO/seldon-core/commit/05ec72bd6b95f9239a60d23af163ac6b0bb8b9e1)
+- release 1.14.1 [`eefa9e4`](https://github.com/SeldonIO/seldon-core/commit/eefa9e4d58b0cde6a4b94a73c15790e41e746c7a)
+
+[Changes][v1.14.1]
+
+
+
+## [v1.14.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.14.0) - 17 Jun 2022
+
+# [v1.14.0](https://github.com/SeldonIO/seldon-core/compare/v1.13.1...v1.14.0)
+
+> 16 June 2022
+- Fixed operator redhat image [`#4157`](https://github.com/SeldonIO/seldon-core/pull/4157)
+- fix broken mlflow model build [`#4155`](https://github.com/SeldonIO/seldon-core/pull/4155)
+- Bump MLServer version to 1.1.0 [`#4148`](https://github.com/SeldonIO/seldon-core/pull/4148)
+- Upgrade to k8s 0.23 APIs, remove v1beta1 as default, upgrade KEDA [`#4136`](https://github.com/SeldonIO/seldon-core/pull/4136)
+- Create graph-modes.md [`#4144`](https://github.com/SeldonIO/seldon-core/pull/4144)
+- Fix typo in error message for Anchor tabular [`#4145`](https://github.com/SeldonIO/seldon-core/pull/4145)
+- fix transport missing in executor [`#4107`](https://github.com/SeldonIO/seldon-core/pull/4107)
+- fix alibi tests [`#4142`](https://github.com/SeldonIO/seldon-core/pull/4142)
+- Broken docs test fix removing reference to Tree [`#4141`](https://github.com/SeldonIO/seldon-core/pull/4141)
+- Fix. Ensemble model. Previouse not saved data in jagear. Working with Jagear and Istio [`#4139`](https://github.com/SeldonIO/seldon-core/pull/4139)
+- Add optional manual commit to seldon kafka server [`#4117`](https://github.com/SeldonIO/seldon-core/pull/4117)
+- update kind [`#4135`](https://github.com/SeldonIO/seldon-core/pull/4135)
+- use alternative multiprocessing library if USE_MULTIPROCESS_PACKAGE i… [`#4114`](https://github.com/SeldonIO/seldon-core/pull/4114)
+- upgrade alibi explain to 0.7.0 [`#4112`](https://github.com/SeldonIO/seldon-core/pull/4112)
+- Update cache folder and bump MLServer image [`#4094`](https://github.com/SeldonIO/seldon-core/pull/4094)
+- Adding protocol info to executor payload logging worker [`#4077`](https://github.com/SeldonIO/seldon-core/pull/4077)
+- Don't hardcode UID for Triton containers [`#4099`](https://github.com/SeldonIO/seldon-core/pull/4099)
+- Sorted metric tags to avoid duplicate prom data with gRPC requests [`#4006`](https://github.com/SeldonIO/seldon-core/pull/4006)
+- respect envSecretRefName coming from helm values [`#4089`](https://github.com/SeldonIO/seldon-core/pull/4089)
+- minor type fix [`#4086`](https://github.com/SeldonIO/seldon-core/pull/4086)
+- Huggingface optimum prepackaged server [`#4081`](https://github.com/SeldonIO/seldon-core/pull/4081)
+- Adding configuration for feature level drift metrics [`#4079`](https://github.com/SeldonIO/seldon-core/pull/4079)
+- Fixed random seed for anchor explanation [`#4078`](https://github.com/SeldonIO/seldon-core/pull/4078)
+- Re-setting numpy random seed to zero on every explain request [`#4076`](https://github.com/SeldonIO/seldon-core/pull/4076)
+- Pass through model name env var for MLServer [`#4069`](https://github.com/SeldonIO/seldon-core/pull/4069)
+- Update seldon-deployment.rst [`#4075`](https://github.com/SeldonIO/seldon-core/pull/4075)
+- Adding tests to explicitly state expected behaviour of v2 protocol chaining in REST [`#4061`](https://github.com/SeldonIO/seldon-core/pull/4061)
+- add prometheus operator docs [`#4038`](https://github.com/SeldonIO/seldon-core/pull/4038)
+- change versions we test upgrade of operator from [`#4066`](https://github.com/SeldonIO/seldon-core/pull/4066)
+- lock jager operator helm chart to fix integration tests [`#4064`](https://github.com/SeldonIO/seldon-core/pull/4064)
+- Protocol specific ready checkers [`#4028`](https://github.com/SeldonIO/seldon-core/pull/4028)
+- fix(executer): Forward parameters while chaining models via kfserve grpc [`#4054`](https://github.com/SeldonIO/seldon-core/pull/4054)
+- Outlier example poetry [`#4055`](https://github.com/SeldonIO/seldon-core/pull/4055)
+- fix removal of request logger to fix CI [`#4044`](https://github.com/SeldonIO/seldon-core/pull/4044)
+- Enabling optional grpc server on python level only [`#4027`](https://github.com/SeldonIO/seldon-core/pull/4027)
+- Removed request logger from github security workflows [`#4039`](https://github.com/SeldonIO/seldon-core/pull/4039)
+- Python request logger example component deprication and removal [`#4016`](https://github.com/SeldonIO/seldon-core/pull/4016)
+- Extended GPT2 MLServer Pipeline Example to include post-processor [`#4035`](https://github.com/SeldonIO/seldon-core/pull/4035)
+- Updated CPP example to use latest 3.8 base image [`#4026`](https://github.com/SeldonIO/seldon-core/pull/4026)
+- allow priorityClassName for manager [`#4030`](https://github.com/SeldonIO/seldon-core/pull/4030)
+- Updating model inputs for new schema [`#4032`](https://github.com/SeldonIO/seldon-core/pull/4032)
+- Updating typings for prediction API documentation [`#4025`](https://github.com/SeldonIO/seldon-core/pull/4025)
+- Fixed Flask breaking version by werkzeug dependency limit to 2.1 [`#4018`](https://github.com/SeldonIO/seldon-core/pull/4018)
+- Update ab_test_2pods.json [`#4020`](https://github.com/SeldonIO/seldon-core/pull/4020)
+- Decompress prediction events before logging to kafka topics [`#4005`](https://github.com/SeldonIO/seldon-core/pull/4005)
+- Updated poetry environment and lockfile for Alibi Detect 0.9.0 [`#4001`](https://github.com/SeldonIO/seldon-core/pull/4001)
+- update sklearn iris example [`#3995`](https://github.com/SeldonIO/seldon-core/pull/3995)
+- Release v1.13.1 for OpenShift [`#3987`](https://github.com/SeldonIO/seldon-core/pull/3987)
+- Bumping rclone image version to 1.57.0 [`#3990`](https://github.com/SeldonIO/seldon-core/pull/3990)
+- fix example yaml file error in README.md [`#3994`](https://github.com/SeldonIO/seldon-core/pull/3994)
+- added tag for s2i python image [`#3992`](https://github.com/SeldonIO/seldon-core/pull/3992)
+- Fixing nbqa linting for latest notebook [`#3991`](https://github.com/SeldonIO/seldon-core/pull/3991)
+- support traffic settings for shadow deployment with istio [`#3780`](https://github.com/SeldonIO/seldon-core/pull/3780)
+- Issue [#3968](https://github.com/SeldonIO/seldon-core/issues/3968): Allow hostNetwork=true for seldon operator [`#3971`](https://github.com/SeldonIO/seldon-core/pull/3971)
+- Updating explainer docs into 0.6.4 [`#3976`](https://github.com/SeldonIO/seldon-core/pull/3976)
+- Add TLS to Kafka Consumer and also add Kafka + KEDA + TLS example [`#3977`](https://github.com/SeldonIO/seldon-core/pull/3977)
+- Merging 1.13.1 changelog and update to 1.14.0-dev images [`#3962`](https://github.com/SeldonIO/seldon-core/pull/3962)
+- Bumping rclone image version to 1.57.0 ([#3990](https://github.com/SeldonIO/seldon-core/issues/3990)) [`#3973`](https://github.com/SeldonIO/seldon-core/issues/3973)
+- Updating changelog to 1.13.1 [`adf6c54`](https://github.com/SeldonIO/seldon-core/commit/adf6c54503da2b415800485c57c335df75be8fc5)
+- Release v1.14.0 [`158950f`](https://github.com/SeldonIO/seldon-core/commit/158950f357f740f89a4741f2a8e1c8ca9841cc54)
+
+[Changes][v1.14.0]
+
+
+
+## [v1.13.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.13.1) - 22 Feb 2022
+
+# [v1.13.1](https://github.com/SeldonIO/seldon-core/compare/v1.13.0...v1.13.1)
+
+> 21 February 2022
+
+- Updated base golang images to 1.17.7 [`#3951`](https://github.com/SeldonIO/seldon-core/pull/3951)
+- cast float/int 64 to 32 in alibi-detect-server [`#3958`](https://github.com/SeldonIO/seldon-core/pull/3958)
+- Update security policy to outline current security scans [`#3959`](https://github.com/SeldonIO/seldon-core/pull/3959)
+- Addresing security vulnerabilities for 1.13.1 release [`#3949`](https://github.com/SeldonIO/seldon-core/pull/3949)
+- Updating broken link in documentation [`#3950`](https://github.com/SeldonIO/seldon-core/pull/3950)
+- Fixed Flask dependency by pinning markupsafe and itsdangerous [`#3948`](https://github.com/SeldonIO/seldon-core/pull/3948)
+- Fixing failing docs CI tests [`#3915`](https://github.com/SeldonIO/seldon-core/pull/3915)
+- Update images to 1.14.0-dev for next semver release [`#3939`](https://github.com/SeldonIO/seldon-core/pull/3939)
+- Adding chmod to dockefile example [`#3937`](https://github.com/SeldonIO/seldon-core/pull/3937)
+- Update Adopters.md [`#3934`](https://github.com/SeldonIO/seldon-core/pull/3934)
+- Update kfserving-storage-initializer.md [`#3831`](https://github.com/SeldonIO/seldon-core/issues/3831)
+- Release v1.13.1 [`c696e99`](https://github.com/SeldonIO/seldon-core/commit/c696e9907239cb084918eff4a4ab07b7c179d8e9)
+- Release v1.13.1 security images [`d90766d`](https://github.com/SeldonIO/seldon-core/commit/d90766da8bfc418c0c339a145cb100e7d8376c58)
+- Release v1.13.1 changelog [`83f2f63`](https://github.com/SeldonIO/seldon-core/commit/83f2f6355199455e9be9795c2d09e2ddfdcfa540)
+
+[Security Scan Results](https://github.com/SeldonIO/seldon-core/actions/runs/1880645908)
+
+[Changes][v1.13.1]
+
+
+
+## [v1.13.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.13.0) - 17 Feb 2022
+
+# [v1.13.0](https://github.com/SeldonIO/seldon-core/compare/v1.12.0...v1.13.0)
+
+- Add test for tensorflow prepackaged Seldon protocol with resource requests specified [`#3928`](https://github.com/SeldonIO/seldon-core/pull/3928)
+- Bump MLServer to 1.0.0 [`#3927`](https://github.com/SeldonIO/seldon-core/pull/3927)
+- Skip request logging if skip header is present [`#3925`](https://github.com/SeldonIO/seldon-core/pull/3925)
+- upgrade alibi explain to 0.6.4 [`#3885`](https://github.com/SeldonIO/seldon-core/pull/3885)
+- Allow v2 as protocol name [`#3906`](https://github.com/SeldonIO/seldon-core/pull/3906)
+- Bump MLServer image to 1.0.0.rc2 [`#3916`](https://github.com/SeldonIO/seldon-core/pull/3916)
+- Update gcp.rst [`#3921`](https://github.com/SeldonIO/seldon-core/pull/3921)
+- Add model_name when chaining requests [`#3805`](https://github.com/SeldonIO/seldon-core/pull/3805)
+- Fixing Alibi Detect Server response cloud event data is json marshalled string [`#3907`](https://github.com/SeldonIO/seldon-core/pull/3907)
+- bump alibi-detect to 0.8.1 in adserver [`#3871`](https://github.com/SeldonIO/seldon-core/pull/3871)
+- Updating inference logic to add node level request-response logging [`#3874`](https://github.com/SeldonIO/seldon-core/pull/3874)
+- Pass down ports info to MLServer [`#3898`](https://github.com/SeldonIO/seldon-core/pull/3898)
+- Update autoscale docs [`#3905`](https://github.com/SeldonIO/seldon-core/pull/3905)
+- Updating helm docs for 1.13.0-dev [`#3879`](https://github.com/SeldonIO/seldon-core/pull/3879)
+- Updated cert-manager API version [`#3888`](https://github.com/SeldonIO/seldon-core/pull/3888)
+- Fix seldon manager configmap for alibiexplainer version [`#3897`](https://github.com/SeldonIO/seldon-core/pull/3897)
+- Adding test skip until fixed via 3857 [`#3894`](https://github.com/SeldonIO/seldon-core/pull/3894)
+- Redhat 1.12.0 [`#3878`](https://github.com/SeldonIO/seldon-core/pull/3878)
+- Add support to use PEM string for SSL [`#3868`](https://github.com/SeldonIO/seldon-core/pull/3868)
+- Changes ndarry to ndarray [`#3892`](https://github.com/SeldonIO/seldon-core/pull/3892)
+- 3804 Removal of Depricated Java Engine Resources [`#3845`](https://github.com/SeldonIO/seldon-core/pull/3845)
+- Updating security tests to run on 1.13.0-dev images [`#3875`](https://github.com/SeldonIO/seldon-core/pull/3875)
+- Upgrade confluent-kafka-go to v1.8.2 [`#3870`](https://github.com/SeldonIO/seldon-core/pull/3870)
+- Bump upper constrains of MLflow server dependencies [`#3863`](https://github.com/SeldonIO/seldon-core/pull/3863)
+- Add events to namespaced roles [`#3855`](https://github.com/SeldonIO/seldon-core/pull/3855)
+- Seldon add ssl [`#3813`](https://github.com/SeldonIO/seldon-core/pull/3813)
+- Add agrski as approver [`#3865`](https://github.com/SeldonIO/seldon-core/pull/3865)
+- Operator sets seldondeployment to failed when deployment not progressing [`#3851`](https://github.com/SeldonIO/seldon-core/pull/3851)
+- Read OIDC resource parameter [`#3844`](https://github.com/SeldonIO/seldon-core/pull/3844)
+- Update mlflow.md [`#3843`](https://github.com/SeldonIO/seldon-core/pull/3843)
+- Update overview.md [`#3842`](https://github.com/SeldonIO/seldon-core/pull/3842)
+- Remove triage label and release notes block from templates [`#3835`](https://github.com/SeldonIO/seldon-core/pull/3835)
+- Bump seldon-deploy-sdk to 1.4.1.2 in request logger [`#3838`](https://github.com/SeldonIO/seldon-core/pull/3838)
+- Added missing words [`#3837`](https://github.com/SeldonIO/seldon-core/pull/3837)
+- reference to kfserving storage initializer from dockerhub [`#3832`](https://github.com/SeldonIO/seldon-core/pull/3832)
+- Updated license branch from master to main for hashicorp/go-version [`#3829`](https://github.com/SeldonIO/seldon-core/pull/3829)
+- Update Dockerfile in python docker wrapper docs [`#3822`](https://github.com/SeldonIO/seldon-core/pull/3822)
+- Fix broken link [`#3820`](https://github.com/SeldonIO/seldon-core/pull/3820)
+- Exclude caBundle field when cert-manager is enabled [`#3807`](https://github.com/SeldonIO/seldon-core/pull/3807)
+- Use default PID not UUID for worker ID [`#3801`](https://github.com/SeldonIO/seldon-core/pull/3801)
+- Updating tag to 1.13.0-dev + adding changelog [`#3799`](https://github.com/SeldonIO/seldon-core/pull/3799)
+- Add note for MacOS users [`#3800`](https://github.com/SeldonIO/seldon-core/pull/3800)
+- Updated for changelog generator to use auto-changelog [`0ea7e2c`](https://github.com/SeldonIO/seldon-core/commit/0ea7e2c9f64d6d2225abeefa0f66fee1f66d420e)
+- Updated changelog [`e6a60ae`](https://github.com/SeldonIO/seldon-core/commit/e6a60ae0b26ea0b04c9cf9ca075053196bd60849)
+- Updated changelog with full changes! [`56bcce3`](https://github.com/SeldonIO/seldon-core/commit/56bcce3967c83c241f57d5a097993d397ed4f237)
+
+[Changes][v1.13.0]
+
+
+
+## [v1.12.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.12.0) - 14 Dec 2021
+
+## [v1.12.0](https://github.com/SeldonIO/seldon-core/tree/v1.12.0)
+
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v1.11.2...v1.12.0)
+
+**Fixed bugs:**
+
+- Ensure docker images have the source code included for MPL based licenses [\#3787](https://github.com/SeldonIO/seldon-core/issues/3787)
+- Stateful Model Feedback Metrics Server uses wrong image [\#3784](https://github.com/SeldonIO/seldon-core/issues/3784)
+- seldon-core-microservice: error: unrecognized arguments: test REST --service-type MODEL --persistence 0 [\#3775](https://github.com/SeldonIO/seldon-core/issues/3775)
+- Tensorflow protocol can't support /v1/models/${MODEL\_NAME}\[/versions/${VERSION}|/labels/${LABEL}\] when using istioingress gateway [\#3767](https://github.com/SeldonIO/seldon-core/issues/3767)
+- seldonio/mlflowserver:1.12.0-dev now unable to server models [\#3766](https://github.com/SeldonIO/seldon-core/issues/3766)
+- TEP PY SITH [\#3752](https://github.com/SeldonIO/seldon-core/issues/3752)
+- OOM when stress test the Seldon model, which may be caused by the logging of request and response payloads [\#3726](https://github.com/SeldonIO/seldon-core/issues/3726)
+- Unable to install seldon via Helm [\#3725](https://github.com/SeldonIO/seldon-core/issues/3725)
+- Conda pip install permission denied in OpenShift [\#3712](https://github.com/SeldonIO/seldon-core/issues/3712)
+- Python/Executor path mis-match [\#3705](https://github.com/SeldonIO/seldon-core/issues/3705)
+- seldon-core-operator helm chart - in single namespace mode the role seldon1-manager-role does not include poddisruptionbudgets [\#3692](https://github.com/SeldonIO/seldon-core/issues/3692)
+- Currently engine related values cannot be ommited from the values.yaml while deploying seldon [\#3691](https://github.com/SeldonIO/seldon-core/issues/3691)
+- apiversion is deprecated in `notebooks/resources/ambassador-rbac.yaml` [\#3677](https://github.com/SeldonIO/seldon-core/issues/3677)
+- Error to build env: Command 'conda run -n mlflow pip install -r /microservice/requirements.txt' returned non-zero exit status 1. [\#3670](https://github.com/SeldonIO/seldon-core/issues/3670)
+- Seldon Manager Config Map has an extra comma that can cause parsing error [\#3652](https://github.com/SeldonIO/seldon-core/issues/3652)
+- Validate and address recent apparent flakiness in v2 server tests [\#3639](https://github.com/SeldonIO/seldon-core/issues/3639)
+- Executor returns minimal information on http client failure [\#3625](https://github.com/SeldonIO/seldon-core/issues/3625)
+- helm chart not compatible with k8s v1.22 [\#3618](https://github.com/SeldonIO/seldon-core/issues/3618)
+- Upgrade Grafana chart in seldon-core-analytics [\#3558](https://github.com/SeldonIO/seldon-core/issues/3558)
+- Mlflow getting downgraded [\#3454](https://github.com/SeldonIO/seldon-core/issues/3454)
+- Deploying custom MLflow model - stuck at "Readiness probe failed" [\#3186](https://github.com/SeldonIO/seldon-core/issues/3186)
+- Java Engine and Go Executor Does not Terminate Graph upon Error [\#2480](https://github.com/SeldonIO/seldon-core/issues/2480)
+
+**Security fixes:**
+
+- Added snyk security scans [\#3645](https://github.com/SeldonIO/seldon-core/pull/3645) ([axsaucedo](https://github.com/axsaucedo))
+
+**Closed issues:**
+
+- Exposing GRPC timeouts in Python client [\#3779](https://github.com/SeldonIO/seldon-core/issues/3779)
+- remove explainer\_examples notebook [\#3777](https://github.com/SeldonIO/seldon-core/issues/3777)
+- Submit cloud events uncompressed until consumers supports it [\#3749](https://github.com/SeldonIO/seldon-core/issues/3749)
+- When is seldon v1.12 going to drop? [\#3735](https://github.com/SeldonIO/seldon-core/issues/3735)
+- Add model chaining example for the V2 protocol [\#3732](https://github.com/SeldonIO/seldon-core/issues/3732)
+- Fix `alibi-explain-server` to use `alibi` `load\_explainer` helper function [\#3708](https://github.com/SeldonIO/seldon-core/issues/3708)
+- Batch processor enhancemenst through raw data parameter [\#3702](https://github.com/SeldonIO/seldon-core/issues/3702)
+- Allow for Annotations and Labels to be injected into helm chart templates [\#3699](https://github.com/SeldonIO/seldon-core/issues/3699)
+- Allow Controller Manager to have configurable container security context [\#3698](https://github.com/SeldonIO/seldon-core/issues/3698)
+- Batch processor cast integers to floats in payloads [\#3681](https://github.com/SeldonIO/seldon-core/issues/3681)
+- Integrated alibi-explain mlserver runtime in Core [\#3675](https://github.com/SeldonIO/seldon-core/issues/3675)
+- Add e2e example on training explainers with Poetry-locked environment [\#3664](https://github.com/SeldonIO/seldon-core/issues/3664)
+- Move adserver to use Poetry [\#3660](https://github.com/SeldonIO/seldon-core/issues/3660)
+- Update Openshift OperatorHub Releases for 1.11.1 [\#3563](https://github.com/SeldonIO/seldon-core/issues/3563)
+- Better support Istio Mesh Internal to cluster [\#3485](https://github.com/SeldonIO/seldon-core/issues/3485)
+- Enable index filed in batch\_processor [\#3409](https://github.com/SeldonIO/seldon-core/issues/3409)
+- Add "names" field in batch\_processor.py to align with seldon\_client.py [\#3408](https://github.com/SeldonIO/seldon-core/issues/3408)
+- upgrade seldon-core-analytics helm charts [\#3403](https://github.com/SeldonIO/seldon-core/issues/3403)
+- batch processor: add raw inputs support to predict method [\#2657](https://github.com/SeldonIO/seldon-core/issues/2657)
+- Publish RedHat images via API [\#2085](https://github.com/SeldonIO/seldon-core/issues/2085)
+- Seldon deployment name in case of complex graph [\#1801](https://github.com/SeldonIO/seldon-core/issues/1801)
+
+**Merged pull requests:**
+
+- fix missing rclone in adserver [\#3796](https://github.com/SeldonIO/seldon-core/pull/3796) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump MLServer image to 1.0.0.rc1 [\#3795](https://github.com/SeldonIO/seldon-core/pull/3795) ([adriangonz](https://github.com/adriangonz))
+- Tweak script to generate MLflow environment tarball [\#3794](https://github.com/SeldonIO/seldon-core/pull/3794) ([adriangonz](https://github.com/adriangonz))
+- Addressed vulnerabilities with snyk for containers and libraries [\#3793](https://github.com/SeldonIO/seldon-core/pull/3793) ([axsaucedo](https://github.com/axsaucedo))
+- use lowercase seldon-puid in batch processor [\#3791](https://github.com/SeldonIO/seldon-core/pull/3791) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- batch processor: always prioritize tags from model [\#3789](https://github.com/SeldonIO/seldon-core/pull/3789) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Added MPL Licenses to Docker images [\#3788](https://github.com/SeldonIO/seldon-core/pull/3788) ([axsaucedo](https://github.com/axsaucedo))
+- build adserver dockerimage using poetry-defined environment [\#3783](https://github.com/SeldonIO/seldon-core/pull/3783) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- remove explainer\_examples.ipynb from notebook test [\#3778](https://github.com/SeldonIO/seldon-core/pull/3778) ([sakoush](https://github.com/sakoush))
+- Support https on batch processor [\#3774](https://github.com/SeldonIO/seldon-core/pull/3774) ([majolo](https://github.com/majolo))
+- Docs: Removed argument from tags example [\#3771](https://github.com/SeldonIO/seldon-core/pull/3771) ([jacobmalmberg](https://github.com/jacobmalmberg))
+- Allow deployment name as prefix when default name to long [\#3768](https://github.com/SeldonIO/seldon-core/pull/3768) ([cliveseldon](https://github.com/cliveseldon))
+- upgrade alibi to 0.6.2 [\#3765](https://github.com/SeldonIO/seldon-core/pull/3765) ([sakoush](https://github.com/sakoush))
+- fixed iris sklearn model example [\#3762](https://github.com/SeldonIO/seldon-core/pull/3762) ([karan6190](https://github.com/karan6190))
+- Address MLServer flakiness in CI tests [\#3754](https://github.com/SeldonIO/seldon-core/pull/3754) ([adriangonz](https://github.com/adriangonz))
+- executor: decompress gzip paloyads before logging them [\#3746](https://github.com/SeldonIO/seldon-core/pull/3746) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fixing docs-build test [\#3745](https://github.com/SeldonIO/seldon-core/pull/3745) ([edshee](https://github.com/edshee))
+- Sherif akoush/sc 2549/alibi v1 fixes [\#3744](https://github.com/SeldonIO/seldon-core/pull/3744) ([sakoush](https://github.com/sakoush))
+- Transformers example [\#3743](https://github.com/SeldonIO/seldon-core/pull/3743) ([adriangonz](https://github.com/adriangonz))
+- Chart annotations cont, manager container security context [\#3741](https://github.com/SeldonIO/seldon-core/pull/3741) ([mwm5945](https://github.com/mwm5945))
+- Logger params [\#3738](https://github.com/SeldonIO/seldon-core/pull/3738) ([cliveseldon](https://github.com/cliveseldon))
+- fix python lint [\#3737](https://github.com/SeldonIO/seldon-core/pull/3737) ([cliveseldon](https://github.com/cliveseldon))
+- Fix 1.22 Webhook Create by ensuring v1 is used [\#3736](https://github.com/SeldonIO/seldon-core/pull/3736) ([cliveseldon](https://github.com/cliveseldon))
+- Performance fix for the logger in the executor [\#3734](https://github.com/SeldonIO/seldon-core/pull/3734) ([ivan-valkov](https://github.com/ivan-valkov))
+- add endpoint to match python status endpoint [\#3731](https://github.com/SeldonIO/seldon-core/pull/3731) ([mwm5945](https://github.com/mwm5945))
+- Mnist e2e triton [\#3728](https://github.com/SeldonIO/seldon-core/pull/3728) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Chart annotations [\#3724](https://github.com/SeldonIO/seldon-core/pull/3724) ([mwm5945](https://github.com/mwm5945))
+- Batch processor enhancemenst through raw data parameter [\#3718](https://github.com/SeldonIO/seldon-core/pull/3718) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- add shutdown\_delay option to executor & gRPC GracefulStop [\#3711](https://github.com/SeldonIO/seldon-core/pull/3711) ([asobrien](https://github.com/asobrien))
+- Disable scraping of explainer metrics as unsupported [\#3710](https://github.com/SeldonIO/seldon-core/pull/3710) ([agrski](https://github.com/agrski))
+- Add ginkgo Make target [\#3709](https://github.com/SeldonIO/seldon-core/pull/3709) ([agrski](https://github.com/agrski))
+- Sherif akoush/sc 2543/alibi explain mlserver runtime [\#3707](https://github.com/SeldonIO/seldon-core/pull/3707) ([sakoush](https://github.com/sakoush))
+- Added security scans for containers [\#3706](https://github.com/SeldonIO/seldon-core/pull/3706) ([axsaucedo](https://github.com/axsaucedo))
+- upgrade rclone base to 1.56.2 [\#3701](https://github.com/SeldonIO/seldon-core/pull/3701) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Removed broken link in readme for docs test lint fix [\#3700](https://github.com/SeldonIO/seldon-core/pull/3700) ([axsaucedo](https://github.com/axsaucedo))
+- remove aws docs [\#3695](https://github.com/SeldonIO/seldon-core/pull/3695) ([cliveseldon](https://github.com/cliveseldon))
+- Add pdb to namespaced roles [\#3694](https://github.com/SeldonIO/seldon-core/pull/3694) ([cliveseldon](https://github.com/cliveseldon))
+- Fix extra comma in kustomize operator configmap [\#3693](https://github.com/SeldonIO/seldon-core/pull/3693) ([cliveseldon](https://github.com/cliveseldon))
+- Update ambassador-rbac.yaml [\#3678](https://github.com/SeldonIO/seldon-core/pull/3678) ([westford14](https://github.com/westford14))
+- Change rbac in example yaml to v1 api [\#3676](https://github.com/SeldonIO/seldon-core/pull/3676) ([westford14](https://github.com/westford14))
+- Updated Python wrapper application folder owner to default 8888 [\#3674](https://github.com/SeldonIO/seldon-core/pull/3674) ([axsaucedo](https://github.com/axsaucedo))
+- Fixed KFserving version to v0.6.0 for Alibi Detect Server [\#3673](https://github.com/SeldonIO/seldon-core/pull/3673) ([axsaucedo](https://github.com/axsaucedo))
+- Fix for broken readme links [\#3671](https://github.com/SeldonIO/seldon-core/pull/3671) ([majolo](https://github.com/majolo))
+- Fix broken links for broken docs tests master [\#3669](https://github.com/SeldonIO/seldon-core/pull/3669) ([axsaucedo](https://github.com/axsaucedo))
+- Updating the request logger requirements seldon-deploy-sdk to latest version [\#3668](https://github.com/SeldonIO/seldon-core/pull/3668) ([SachinVarghese](https://github.com/SachinVarghese))
+- Adding support for Kubernetes 1.22 through validation webhook v1 [\#3667](https://github.com/SeldonIO/seldon-core/pull/3667) ([axsaucedo](https://github.com/axsaucedo))
+- Fix typo in admission webhook for tensorflow protocol [\#3656](https://github.com/SeldonIO/seldon-core/pull/3656) ([agrski](https://github.com/agrski))
+- Issue-3372 [\#3654](https://github.com/SeldonIO/seldon-core/pull/3654) ([westford14](https://github.com/westford14))
+- e2e examples for iris explainer using poetry-defined environment [\#3642](https://github.com/SeldonIO/seldon-core/pull/3642) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update release script to update on all images it builds [\#3638](https://github.com/SeldonIO/seldon-core/pull/3638) ([axsaucedo](https://github.com/axsaucedo))
+- Updated batch processor e2e tests to include interval parameter [\#3631](https://github.com/SeldonIO/seldon-core/pull/3631) ([axsaucedo](https://github.com/axsaucedo))
+- Updated broken links for Argo in docs to fix tests [\#3630](https://github.com/SeldonIO/seldon-core/pull/3630) ([axsaucedo](https://github.com/axsaucedo))
+- bulk insert batch requests [\#3628](https://github.com/SeldonIO/seldon-core/pull/3628) ([michaelcheah](https://github.com/michaelcheah))
+- Update to Go 1.17.1 [\#3627](https://github.com/SeldonIO/seldon-core/pull/3627) ([cliveseldon](https://github.com/cliveseldon))
+- Executor Returns Clearer Errors on HTTP Failures [\#3626](https://github.com/SeldonIO/seldon-core/pull/3626) ([mwm5945](https://github.com/mwm5945))
+- update slack link [\#3624](https://github.com/SeldonIO/seldon-core/pull/3624) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Adding an interval config to batch processor component [\#3623](https://github.com/SeldonIO/seldon-core/pull/3623) ([SachinVarghese](https://github.com/SachinVarghese))
+- Added GOMAXPROCS for CI pipeline jobs in JX [\#3619](https://github.com/SeldonIO/seldon-core/pull/3619) ([axsaucedo](https://github.com/axsaucedo))
+- Added python timeouts [\#3617](https://github.com/SeldonIO/seldon-core/pull/3617) ([axsaucedo](https://github.com/axsaucedo))
+- use ipv4 protocol \(for systems without ipv6\) [\#3614](https://github.com/SeldonIO/seldon-core/pull/3614) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update the examples to reflect the move to rclone-based storage initializer [\#3611](https://github.com/SeldonIO/seldon-core/pull/3611) ([jsuchome](https://github.com/jsuchome))
+- Release 1.12.0-dev tag [\#3610](https://github.com/SeldonIO/seldon-core/pull/3610) ([axsaucedo](https://github.com/axsaucedo))
+- combine virtualservices into one [\#3609](https://github.com/SeldonIO/seldon-core/pull/3609) ([mwm5945](https://github.com/mwm5945))
+- make combiner propagate requestPath from all children [\#3604](https://github.com/SeldonIO/seldon-core/pull/3604) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- build alibi explain server using poetry [\#3549](https://github.com/SeldonIO/seldon-core/pull/3549) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+
+
+[Changes][v1.12.0]
+
+
+
+## [v1.11.2](https://github.com/SeldonIO/seldon-core/releases/tag/v1.11.2) - 19 Oct 2021
+
+## [v1.11.2](https://github.com/seldonio/seldon-core/tree/v1.11.2) (2021-10-19)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.11.1...v1.11.2)
+
+**Merged Pull Requests:**
+
+- Updating the request logger requirements seldon-deploy-sdk to latest version [\#3668](https://github.com/SeldonIO/seldon-core/issues/3668)
+- Fixed KFserving version to v0.6.0 for Alibi Detect Server [\#3673](https://github.com/SeldonIO/seldon-core/issues/3673)
+
+[Changes][v1.11.2]
+
+
+
+## [v1.11.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.11.1) - 04 Oct 2021
+
+## [v1.11.1](https://github.com/seldonio/seldon-core/tree/v1.11.1) (2021-10-04)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.11.0...v1.11.1)
+
+**Fixed bugs:**
+
+- gRPC broken for non ipv6 systems post 1.9.1 [\#3616](https://github.com/SeldonIO/seldon-core/issues/3616)
+- How seldon core analytics is working for model metrics monitoring ??? [\#3592](https://github.com/SeldonIO/seldon-core/issues/3592)
+- incomplete meta.requestPath in responses and redundant "tags" field [\#3477](https://github.com/SeldonIO/seldon-core/issues/3477)
+
+**Closed issues:**
+
+- Python Wrapper does not adhere to Timeout annotations [\#3613](https://github.com/SeldonIO/seldon-core/issues/3613)
+- Are you interested in becoming a listed KEDA end-user? [\#3612](https://github.com/SeldonIO/seldon-core/issues/3612)
+- Seldon Core v1.11.0 Release [\#3598](https://github.com/SeldonIO/seldon-core/issues/3598)
+- what is the best way for receiving/sending data fast? [\#3449](https://github.com/SeldonIO/seldon-core/issues/3449)
+- HPA support for autoscaling/v2beta2 API [\#3143](https://github.com/SeldonIO/seldon-core/issues/3143)
+
+
+[Changes][v1.11.1]
+
+
+
+## [v1.11.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.11.0) - 22 Sep 2021
+
+## [v1.11.0](https://github.com/seldonio/seldon-core/tree/v1.11.0)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/operator/v1.10.0...v1.11.0)
+
+**Fixed bugs:**
+
+- handle bad SemVer for CRD creation [\#3569](https://github.com/SeldonIO/seldon-core/issues/3569)
+- leader election RBAC incorrect [\#3567](https://github.com/SeldonIO/seldon-core/issues/3567)
+- batch processing with argo failed [\#3559](https://github.com/SeldonIO/seldon-core/issues/3559)
+- hello I do not know the composition of json?Can you tell me something about it ? [\#3556](https://github.com/SeldonIO/seldon-core/issues/3556)
+- docs build failing due to problem with black 20.8b1 wheels [\#3546](https://github.com/SeldonIO/seldon-core/issues/3546)
+- Alibi explainer image broken due to numba 0.54 [\#3540](https://github.com/SeldonIO/seldon-core/issues/3540)
+- Update Alibi Detect Server to use Alibi Detect v0.7.1 [\#3481](https://github.com/SeldonIO/seldon-core/issues/3481)
+- helm 3.5.2 warning on seldon helm charts [\#2944](https://github.com/SeldonIO/seldon-core/issues/2944)
+- Support MLFlow models that return pandas DataFrame [\#2281](https://github.com/SeldonIO/seldon-core/issues/2281)
+
+**Closed issues:**
+
+- Should allow user customize LeaderElectionID [\#3576](https://github.com/SeldonIO/seldon-core/issues/3576)
+- FastAPI integration with Seldon [\#3575](https://github.com/SeldonIO/seldon-core/issues/3575)
+- Seldon Deployment Type Definition use duplicate protobuf Ids for a few fields [\#3574](https://github.com/SeldonIO/seldon-core/issues/3574)
+- How to the current available resources of the seldon kubernetes cluster through seldon api, including CPU and memory resources? [\#3543](https://github.com/SeldonIO/seldon-core/issues/3543)
+- Add a "fix this page" button to the docs [\#3535](https://github.com/SeldonIO/seldon-core/issues/3535)
+- Remove duplicate links to self on documentation home page [\#3534](https://github.com/SeldonIO/seldon-core/issues/3534)
+- Improvements to Python Server Configuration doc [\#3532](https://github.com/SeldonIO/seldon-core/issues/3532)
+- Troubleshooting guide enhancements [\#3531](https://github.com/SeldonIO/seldon-core/issues/3531)
+- Create new page on init containers [\#3530](https://github.com/SeldonIO/seldon-core/issues/3530)
+- Deprecate page https://docs.seldon.io/projects/seldon-core/en/latest/wrappers/language\_wrappers.html in favor of individual wrapper pages [\#3529](https://github.com/SeldonIO/seldon-core/issues/3529)
+- Simplify jargon around CRDs and PodTemplateSpec on https://docs.seldon.io/projects/seldon-core/en/latest/graph/inference-graph.html [\#3528](https://github.com/SeldonIO/seldon-core/issues/3528)
+- Have JSON and YAML representations exactly match each other on https://docs.seldon.io/projects/seldon-core/en/latest/graph/inference-graph.html [\#3527](https://github.com/SeldonIO/seldon-core/issues/3527)
+- Investigate feasibility of "toggle" switches to move between JSON, YAML and different languages etc... [\#3526](https://github.com/SeldonIO/seldon-core/issues/3526)
+- Create a diagram to represent inference graphs and config [\#3525](https://github.com/SeldonIO/seldon-core/issues/3525)
+- Improvements to Testing Model Endpoints page [\#3524](https://github.com/SeldonIO/seldon-core/issues/3524)
+- Remove references to S2I from https://docs.seldon.io/projects/seldon-core/en/latest/python/python\_module.html [\#3523](https://github.com/SeldonIO/seldon-core/issues/3523)
+- Fix broken links and reword Seldon Python Component doc [\#3522](https://github.com/SeldonIO/seldon-core/issues/3522)
+- Improvements to Python Wrapping S2I page [\#3521](https://github.com/SeldonIO/seldon-core/issues/3521)
+- Include pre-requisites before installation command [\#3520](https://github.com/SeldonIO/seldon-core/issues/3520)
+- Remove duplicate navigation from quickstart page [\#3519](https://github.com/SeldonIO/seldon-core/issues/3519)
+- Move "about the name Seldon" from quickstart to somewhere more appropriate [\#3518](https://github.com/SeldonIO/seldon-core/issues/3518)
+- Update model servers list on https://docs.seldon.io/projects/seldon-core/en/latest/workflow/overview.html [\#3517](https://github.com/SeldonIO/seldon-core/issues/3517)
+- Remove reference to Kubebuilder from https://docs.seldon.io/projects/seldon-core/en/latest/workflow/overview.html [\#3516](https://github.com/SeldonIO/seldon-core/issues/3516)
+- Remove details on adding custom metrics from https://docs.seldon.io/projects/seldon-core/en/latest/workflow/overview.html [\#3515](https://github.com/SeldonIO/seldon-core/issues/3515)
+- Remove duplicate text from tracing image \(also appears in docs\) https://docs.seldon.io/projects/seldon-core/en/latest/workflow/overview.html [\#3514](https://github.com/SeldonIO/seldon-core/issues/3514)
+- Benchmarking vs Flask for both the benchmarking sections and "benefits vs flask" in overview [\#3513](https://github.com/SeldonIO/seldon-core/issues/3513)
+- Additional information on installing prerequisites in https://docs.seldon.io/projects/seldon-core/en/latest/workflow/install.html [\#3512](https://github.com/SeldonIO/seldon-core/issues/3512)
+- Install command doesn't include istio or ambassador so fails if copy/pasted. Ingress is only referenced afterwards [\#3511](https://github.com/SeldonIO/seldon-core/issues/3511)
+- Add information on meetups, twitter etc... to https://docs.seldon.io/projects/seldon-core/en/latest/developer/community.html [\#3510](https://github.com/SeldonIO/seldon-core/issues/3510)
+- Document storage initializers configuration for private GCP buckets [\#3509](https://github.com/SeldonIO/seldon-core/issues/3509)
+- Working group call calendar link has expired [\#3508](https://github.com/SeldonIO/seldon-core/issues/3508)
+- Rework entire quickstart page removing duplicate content and adding obvious next steps for each persona [\#3507](https://github.com/SeldonIO/seldon-core/issues/3507)
+- "documentation quickstart" is a totally different page, only findable through the original quickstart page. Combine content in to one. [\#3506](https://github.com/SeldonIO/seldon-core/issues/3506)
+- Improvements to Testing Model Endpoints page [\#3505](https://github.com/SeldonIO/seldon-core/issues/3505)
+- Make Python 3.8 s2i wrapper the default one [\#3500](https://github.com/SeldonIO/seldon-core/issues/3500)
+- Add documentation in UPGRADING page that outlines new explainer URI model param limitation [\#3499](https://github.com/SeldonIO/seldon-core/issues/3499)
+- Update explainer URL to allow for empty parameter for tensorlfow protocol [\#3498](https://github.com/SeldonIO/seldon-core/issues/3498)
+- Predictor server image version only accepts string not numeric value [\#3493](https://github.com/SeldonIO/seldon-core/issues/3493)
+- Correctly set GOMAXPROCS for executor and operator [\#3468](https://github.com/SeldonIO/seldon-core/issues/3468)
+- Release v1.10.0 [\#3467](https://github.com/SeldonIO/seldon-core/issues/3467)
+- Update MLServer image to 0.4.0 [\#3466](https://github.com/SeldonIO/seldon-core/issues/3466)
+- Add request logging direct to Kafka [\#3445](https://github.com/SeldonIO/seldon-core/issues/3445)
+- Update KIND CI tests to use latest KIND client \(and hence Kubernetes 1.20\) [\#3357](https://github.com/SeldonIO/seldon-core/issues/3357)
+- Update version of Triton image in configmap [\#3318](https://github.com/SeldonIO/seldon-core/issues/3318)
+- Add conditions for SeldonDeployments [\#3265](https://github.com/SeldonIO/seldon-core/issues/3265)
+- Investigate latest K8S Ingress CRD [\#2988](https://github.com/SeldonIO/seldon-core/issues/2988)
+- Adjust operator updates test to current kubernetes \(\>=1.18\) [\#2966](https://github.com/SeldonIO/seldon-core/issues/2966)
+- Run black \(nbQA\) on notebooks as part of fmt/lint [\#2885](https://github.com/SeldonIO/seldon-core/issues/2885)
+
+
+[Changes][v1.11.0]
+
+
+
+## [v1.10.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.10.0) - 18 Aug 2021
+
+## [v1.10.0](https://github.com/seldonio/seldon-core/tree/HEAD)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/operator/v1.9.1...v1.10.0)
+
+**Fixed bugs:**
+
+- sklearn iris model incompatible with latest sklearnserver \(1.10.0-dev\) [\#3424](https://github.com/SeldonIO/seldon-core/issues/3424)
+- It is not possible to add a new inference server. [\#3415](https://github.com/SeldonIO/seldon-core/issues/3415)
+- REST Executor Returns wrong Error message in DAG [\#3411](https://github.com/SeldonIO/seldon-core/issues/3411)
+- Conda base image is not being pushed to docker hub [\#3405](https://github.com/SeldonIO/seldon-core/issues/3405)
+- spec.preserveUnknownFields missing while upgrading seldon-core-operator to 1.9.1 from 1.2.2 using helm chart [\#3393](https://github.com/SeldonIO/seldon-core/issues/3393)
+- seldon-puid not included in grpc requests [\#3389](https://github.com/SeldonIO/seldon-core/issues/3389)
+- Docs lint is failing due to argo moving repo [\#3386](https://github.com/SeldonIO/seldon-core/issues/3386)
+- Seldon Deployment: Dryrun using k8s java Api is not validating all fields [\#3378](https://github.com/SeldonIO/seldon-core/issues/3378)
+- batch\_processor.py: data will be left unprocessed if the line number in the input file can't be aliquoted by the batch\_size [\#3377](https://github.com/SeldonIO/seldon-core/issues/3377)
+- Cannot apply Seldon Deployment from Kubernetes Python API [\#3375](https://github.com/SeldonIO/seldon-core/issues/3375)
+- click dependencies could not be resolved [\#3373](https://github.com/SeldonIO/seldon-core/issues/3373)
+- Can't change REST timeout [\#3368](https://github.com/SeldonIO/seldon-core/issues/3368)
+- Deployment giving certificate expired or is not yet valid [\#3366](https://github.com/SeldonIO/seldon-core/issues/3366)
+- go mod fails because of invalid character in file name [\#3354](https://github.com/SeldonIO/seldon-core/issues/3354)
+- Istio virtualservice created does not whitelist V2 Inference Protocol protobuf names [\#3352](https://github.com/SeldonIO/seldon-core/issues/3352)
+- Add functionality to support multiprocessing for Python wrapper GRPC [\#3334](https://github.com/SeldonIO/seldon-core/issues/3334)
+- If no-engine=true used only REST/HTTP virtuaservice is created with istio and no GRPC [\#3329](https://github.com/SeldonIO/seldon-core/issues/3329)
+- Seldon Explainer Container Crashes Due to GCS Permission Error [\#3324](https://github.com/SeldonIO/seldon-core/issues/3324)
+- I deploy tensorflow model using tensorflow2.4.1 and occur error:CUDA error \(3\): initialization error. [\#3314](https://github.com/SeldonIO/seldon-core/issues/3314)
+- Status address URL incorrect for no engine [\#3312](https://github.com/SeldonIO/seldon-core/issues/3312)
+- cant build simple-cpp example [\#3251](https://github.com/SeldonIO/seldon-core/issues/3251)
+- wrong conda version used in the mlflowserver image [\#3115](https://github.com/SeldonIO/seldon-core/issues/3115)
+- Failures on send\_feedback\_raw path when using proto [\#2606](https://github.com/SeldonIO/seldon-core/issues/2606)
+- custom\_metrics notebook test is flaky [\#2570](https://github.com/SeldonIO/seldon-core/issues/2570)
+
+**Closed issues:**
+
+- Create MLflow example using MLServer [\#3462](https://github.com/SeldonIO/seldon-core/issues/3462)
+- Run Kubernetes PodSpec validation [\#3440](https://github.com/SeldonIO/seldon-core/issues/3440)
+- automatise generation and upload of example models for pre-packaged model servers [\#3439](https://github.com/SeldonIO/seldon-core/issues/3439)
+- Request Logger Update [\#3421](https://github.com/SeldonIO/seldon-core/issues/3421)
+- Upgrade Alibi Server to 0.6.0 [\#3401](https://github.com/SeldonIO/seldon-core/issues/3401)
+- Add MLServer MLFlow Server to Core [\#3384](https://github.com/SeldonIO/seldon-core/issues/3384)
+- Release 1.9.2 [\#3367](https://github.com/SeldonIO/seldon-core/issues/3367)
+- Create notebook that outlines steps required to extend all existing secrets to be compatible with rclone [\#3360](https://github.com/SeldonIO/seldon-core/issues/3360)
+- Research performance improvements for Python Seldon wrapper and research performance between versions of Seldon Core [\#3359](https://github.com/SeldonIO/seldon-core/issues/3359)
+- Update Core Builder to use more recent version of Python [\#3358](https://github.com/SeldonIO/seldon-core/issues/3358)
+- Create narrative / documentation around security [\#3345](https://github.com/SeldonIO/seldon-core/issues/3345)
+- Add GRPC\_THREADS for configuring the number of threads in the Python wrapper \(and default to 1\) [\#3333](https://github.com/SeldonIO/seldon-core/issues/3333)
+- Set GUNICORN\_THREADS to 1 by default [\#3332](https://github.com/SeldonIO/seldon-core/issues/3332)
+- Release 1.9.1 [\#3319](https://github.com/SeldonIO/seldon-core/issues/3319)
+- Python GRPC Server does not adhere to Worker/Thread environment variables [\#3238](https://github.com/SeldonIO/seldon-core/issues/3238)
+- Update Benchmarking with Argo Worfklows & Vegeta notebook example [\#3162](https://github.com/SeldonIO/seldon-core/issues/3162)
+- 1.8.0 Release [\#3125](https://github.com/SeldonIO/seldon-core/issues/3125)
+- Missing appVersion inside Chart.yaml [\#2737](https://github.com/SeldonIO/seldon-core/issues/2737)
+- Add integration tests to outlier detector and concept drift components [\#2681](https://github.com/SeldonIO/seldon-core/issues/2681)
+- Occasional Latency Spike in Python Nodes of Inference Graph [\#2656](https://github.com/SeldonIO/seldon-core/issues/2656)
+- Refactor env var retrieval for model\_name / image\_name in python wrapper so it's centralised in util [\#2621](https://github.com/SeldonIO/seldon-core/issues/2621)
+- Python Wrapper should Handle Exceptions correctly [\#2338](https://github.com/SeldonIO/seldon-core/issues/2338)
+- Seldon wrapper image with python 3.8 [\#1230](https://github.com/SeldonIO/seldon-core/issues/1230)
+
+
+[Changes][v1.10.0]
+
+
+
+## [v1.9.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.9.1) - 02 Jul 2021
+
+## [v1.9.1](https://github.com/seldonio/seldon-core/tree/v1.9.1) (2021-06-22)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.9.0...v1.9.1)
+
+**Fixed bugs:**
+
+- Help: Unable to run any standard demos on GKE cluster [\#3305](https://github.com/SeldonIO/seldon-core/issues/3305)
+
+**Closed issues:**
+
+- Seldon Core 1.9.0 release [\#3287](https://github.com/SeldonIO/seldon-core/issues/3287)
+- add micro-batching to batch processor [\#2734](https://github.com/SeldonIO/seldon-core/issues/2734)
+
+
+[Changes][v1.9.1]
+
+
+
+## [v1.9.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.9.0) - 16 Jun 2021
+
+## [v1.9.0](https://github.com/seldonio/seldon-core/tree/HEAD)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.8.0...v1.9.0)
+
+**Fixed bugs:**
+
+- seldon-core 1.8.0 helm chart CRD error [\#3254](https://github.com/SeldonIO/seldon-core/issues/3254)
+- explainer don't repect the spec.replicas [\#3241](https://github.com/SeldonIO/seldon-core/issues/3241)
+- Setting TRACING=0 does not disable Jaeger tracing [\#3158](https://github.com/SeldonIO/seldon-core/issues/3158)
+
+**Closed issues:**
+
+- Allow Tempo Server Env Override [\#3282](https://github.com/SeldonIO/seldon-core/issues/3282)
+- req logger - create elements section for tensorflow protocol [\#3279](https://github.com/SeldonIO/seldon-core/issues/3279)
+- Integrate Iter8 [\#3278](https://github.com/SeldonIO/seldon-core/issues/3278)
+- add some unit tests for request logger [\#3270](https://github.com/SeldonIO/seldon-core/issues/3270)
+- Update OpenAPI folder definitions [\#3261](https://github.com/SeldonIO/seldon-core/issues/3261)
+- parsing of categorical and proba in req logger for ndarray [\#3255](https://github.com/SeldonIO/seldon-core/issues/3255)
+- Custom name for Seldon deployment instead of metadataname-graph component names [\#3253](https://github.com/SeldonIO/seldon-core/issues/3253)
+- Allow V2 Protocol for Alibi Explain Server [\#3247](https://github.com/SeldonIO/seldon-core/issues/3247)
+- Usage of route\_raw in seldon core 1.1.0 [\#3236](https://github.com/SeldonIO/seldon-core/issues/3236)
+- option to skip verify ssl in req logger [\#3230](https://github.com/SeldonIO/seldon-core/issues/3230)
+- GPT2-Triton Example: extand to contain load test example [\#3216](https://github.com/SeldonIO/seldon-core/issues/3216)
+- Allow multi-model repositories for Tensorflow Serving [\#3206](https://github.com/SeldonIO/seldon-core/issues/3206)
+- Allow for overriding Istio VirtualService hosts [\#3137](https://github.com/SeldonIO/seldon-core/issues/3137)
+- Run black \(nbQA\) on notebooks as part of fmt/lint [\#2885](https://github.com/SeldonIO/seldon-core/issues/2885)
+- Update request logger to run with gunicorn [\#2141](https://github.com/SeldonIO/seldon-core/issues/2141)
+- Progressive Rollout [\#1805](https://github.com/SeldonIO/seldon-core/issues/1805)
+
+
+[Changes][v1.9.0]
+
+
+
+## [v1.8.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.8.0) - 20 May 2021
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.7.0...v1.8.0)
+
+**Implemented enhancements:**
+
+- Removal of mapping type from request logger [\#3013](https://github.com/SeldonIO/seldon-core/issues/3013)
+- Improve labelling inconsistencies on seldon-managed k8s resources [\#2757](https://github.com/SeldonIO/seldon-core/issues/2757)
+
+**Fixed bugs:**
+
+- Java Wrapper /predict API regression [\#3210](https://github.com/SeldonIO/seldon-core/issues/3210)
+- Seldon feedback api is not supporting String values [\#3207](https://github.com/SeldonIO/seldon-core/issues/3207)
+- SA name hardcoded in seldon-leader-election-role rbac [\#3168](https://github.com/SeldonIO/seldon-core/issues/3168)
+- Community Call Calendar in Doc Out of Date [\#3167](https://github.com/SeldonIO/seldon-core/issues/3167)
+- V2 Inference Compliance [\#3156](https://github.com/SeldonIO/seldon-core/issues/3156)
+- Stuck at "liveness probe failed: HTTP probe failed with statuscode: 403" [\#3129](https://github.com/SeldonIO/seldon-core/issues/3129)
+- Failing end to end tests \(integration and notebooks\) in master [\#3124](https://github.com/SeldonIO/seldon-core/issues/3124)
+- GCP Release CRD issue [\#3114](https://github.com/SeldonIO/seldon-core/issues/3114)
+- Alibi detect image build fails to build in master [\#3111](https://github.com/SeldonIO/seldon-core/issues/3111)
+- Seldon Deployment errors when graph does not have a type field [\#3105](https://github.com/SeldonIO/seldon-core/issues/3105)
+- Wrong required variable in documentation [\#3097](https://github.com/SeldonIO/seldon-core/issues/3097)
+- storageInitializerImage does not work on Kubernetes 1.18 [\#3087](https://github.com/SeldonIO/seldon-core/issues/3087)
+- Deployment issue on AWS [\#3077](https://github.com/SeldonIO/seldon-core/issues/3077)
+- Fix python wrapper command line args docs [\#3069](https://github.com/SeldonIO/seldon-core/issues/3069)
+- HTTP Port Not Change even after PREDICTIVE\_UNIT\_SERVICE\_PORT set [\#3035](https://github.com/SeldonIO/seldon-core/issues/3035)
+- OSS-203: Address CVEs for Java JNI Server Image from Twistlock Reports [\#2968](https://github.com/SeldonIO/seldon-core/issues/2968)
+
+**Closed issues:**
+
+- Add Tempo Prepackaged Server [\#3192](https://github.com/SeldonIO/seldon-core/issues/3192)
+- Adjust outlier examples to use rclone based storage initializer [\#3189](https://github.com/SeldonIO/seldon-core/issues/3189)
+- TEST ISSUE TO TEST SYNC TO GITHUB [\#3185](https://github.com/SeldonIO/seldon-core/issues/3185)
+- Seldon graph complexity [\#3184](https://github.com/SeldonIO/seldon-core/issues/3184)
+- Update Alibi-Detect to latest in Alibi-Detect server [\#3148](https://github.com/SeldonIO/seldon-core/issues/3148)
+- Allow any structure in custom field in metadata [\#3144](https://github.com/SeldonIO/seldon-core/issues/3144)
+- The /aggregate endpoint is wrongly called if we have a COMBINER with SEND\_FEEDBACK method activated [\#3139](https://github.com/SeldonIO/seldon-core/issues/3139)
+- Metadata for Transformer [\#3132](https://github.com/SeldonIO/seldon-core/issues/3132)
+- Update kustomize usage in core [\#3127](https://github.com/SeldonIO/seldon-core/issues/3127)
+- GCP 1.7.0 Release [\#3103](https://github.com/SeldonIO/seldon-core/issues/3103)
+- Add support for transformers with arbitrary request/response format \(ie. not SeldonMessage\) [\#3096](https://github.com/SeldonIO/seldon-core/issues/3096)
+- Redhat release for 1.7.0 [\#3091](https://github.com/SeldonIO/seldon-core/issues/3091)
+- Add new example on Triton Jupyter Notebook Example with GPT-2 [\#3080](https://github.com/SeldonIO/seldon-core/issues/3080)
+- Add raw\_data parameter to predict / transform / etc functions in Seldon Client [\#3079](https://github.com/SeldonIO/seldon-core/issues/3079)
+- Update SPACY notebooks to be aliged with latest Seldon Core [\#3072](https://github.com/SeldonIO/seldon-core/issues/3072)
+- Documentation around supported Alibi Algorithms [\#3053](https://github.com/SeldonIO/seldon-core/issues/3053)
+- Add health/ping to api v1 [\#3046](https://github.com/SeldonIO/seldon-core/issues/3046)
+- no matches for kind "SeldonDeployment" in version "machinelearning.seldon.io/v1alpha2" [\#3037](https://github.com/SeldonIO/seldon-core/issues/3037)
+- seldon-container-engine keeps restarting because readinessProbe failed [\#3036](https://github.com/SeldonIO/seldon-core/issues/3036)
+- Add GPU Drift Detection Example [\#3033](https://github.com/SeldonIO/seldon-core/issues/3033)
+- SeldonClient: Token Authentication without HTTPS [\#3032](https://github.com/SeldonIO/seldon-core/issues/3032)
+- 1.7.0 Release [\#3011](https://github.com/SeldonIO/seldon-core/issues/3011)
+- implement rclone-based storage.py equivalent [\#2942](https://github.com/SeldonIO/seldon-core/issues/2942)
+- Explore consistent python environments for users that create explainers [\#2934](https://github.com/SeldonIO/seldon-core/issues/2934)
+- Is it a good idea to support predicting multiple instances upon one request? [\#2929](https://github.com/SeldonIO/seldon-core/issues/2929)
+- Expose log level setting in Helm chart [\#2919](https://github.com/SeldonIO/seldon-core/issues/2919)
+- Add default /health/status implementation for models [\#2899](https://github.com/SeldonIO/seldon-core/issues/2899)
+- Remove "PERSISTENCE" Redis functionality and documentation [\#2888](https://github.com/SeldonIO/seldon-core/issues/2888)
+- Seldon component exit on failure without passing to next component in the seldon graph [\#2730](https://github.com/SeldonIO/seldon-core/issues/2730)
+- Metrics Endpoint dose not work with Istio Sidecar [\#2720](https://github.com/SeldonIO/seldon-core/issues/2720)
+- Prometheus gauge shown as NaN [\#2685](https://github.com/SeldonIO/seldon-core/issues/2685)
+- ability to specify init container on per deployment basis [\#2611](https://github.com/SeldonIO/seldon-core/issues/2611)
+- Evaluate alterntatives to Storage.py to reduce dependencies and improve support more data sources [\#1028](https://github.com/SeldonIO/seldon-core/issues/1028)
+
+[Changes][v1.8.0]
+
+
+
+## [v1.7.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.7.0) - 19 Mar 2021
+
+## [v1.7.0](https://github.com/seldonio/seldon-core/tree/v1.7.0)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.6.0...v1.7.0)
+
+**Fixed bugs:**
+
+- Missing protocol check for KFServing for URL in sdep status [\#3063](https://github.com/SeldonIO/seldon-core/issues/3063)
+- environment.yml typo in docs [\#3052](https://github.com/SeldonIO/seldon-core/issues/3052)
+- Meta parameter did not passed to next model [\#3050](https://github.com/SeldonIO/seldon-core/issues/3050)
+- fix integration and notebook tests [\#3040](https://github.com/SeldonIO/seldon-core/issues/3040)
+- python microservice refuses to start: setuptools dep conflict [\#3038](https://github.com/SeldonIO/seldon-core/issues/3038)
+- HTTP Port Not Change even after PREDICTIVE\_UNIT\_SERVICE\_PORT set [\#3035](https://github.com/SeldonIO/seldon-core/issues/3035)
+- Misaligned documentation for SKLearn pre-packaged model server [\#3029](https://github.com/SeldonIO/seldon-core/issues/3029)
+- Remove Mutating Webhook if found in latest operator startup [\#3024](https://github.com/SeldonIO/seldon-core/issues/3024)
+- Handle default api status in Seldon protocol in executor and python wrapper [\#3022](https://github.com/SeldonIO/seldon-core/issues/3022)
+- Update docs to state GUnicorn is stable feature. [\#3016](https://github.com/SeldonIO/seldon-core/issues/3016)
+- Cannot create new SeldonDeployment after seldon-core automatic update from 1.5 to 1.6 [\#3005](https://github.com/SeldonIO/seldon-core/issues/3005)
+- Explore re-allowing multiple shadow deployments \(for Istio only as Ambassador doesn't support\) [\#2991](https://github.com/SeldonIO/seldon-core/issues/2991)
+- Files created by controller-gen [\#2987](https://github.com/SeldonIO/seldon-core/issues/2987)
+- SeldonPodSpec in SeldonDeployment V1alpha and V1 in seldon v1.4 is not parsing metadata successfully [\#2983](https://github.com/SeldonIO/seldon-core/issues/2983)
+- Bug in elasticsearch index of metrics server [\#2971](https://github.com/SeldonIO/seldon-core/issues/2971)
+- Address CVEs for MAB Epsilon Greedy & Thompson Sampling Server Image from Twistlock Reports [\#2969](https://github.com/SeldonIO/seldon-core/issues/2969)
+- Address CVEs for Alibi Detect Server Image from Twistlock Reports [\#2967](https://github.com/SeldonIO/seldon-core/issues/2967)
+- Address CVEs for Alibi Explain Server Image from Twistlock Reports [\#2965](https://github.com/SeldonIO/seldon-core/issues/2965)
+- Address CVEs for XGBoost Server Image from Twistlock Reports [\#2964](https://github.com/SeldonIO/seldon-core/issues/2964)
+- Address CVEs for SKLearn Server Image from Twistlock Reports [\#2963](https://github.com/SeldonIO/seldon-core/issues/2963)
+- Address CVEs for MLFlow Server Image from Twistlock Reports [\#2962](https://github.com/SeldonIO/seldon-core/issues/2962)
+- Address CVEs for Storage Initializer Image from Twistlock Reports [\#2961](https://github.com/SeldonIO/seldon-core/issues/2961)
+- Address CVEs for Request Logger Image from Twistlock Reports [\#2960](https://github.com/SeldonIO/seldon-core/issues/2960)
+- seldon-core-microservice: error: unrecognized arguments: REST [\#2951](https://github.com/SeldonIO/seldon-core/issues/2951)
+- Seldon Batch Template Bug? [\#2943](https://github.com/SeldonIO/seldon-core/issues/2943)
+- Flaky Operator Unit Test: MLServer Panic [\#2904](https://github.com/SeldonIO/seldon-core/issues/2904)
+- Seldon-core-microservice Warning/Error message for changed args [\#2896](https://github.com/SeldonIO/seldon-core/issues/2896)
+- cannot overwrite initContainers image: reconcile error [\#2821](https://github.com/SeldonIO/seldon-core/issues/2821)
+- Manual scale doesn't work if hpaSpec is set [\#2816](https://github.com/SeldonIO/seldon-core/issues/2816)
+- Remove Status section of generated CRD by kubebuilder [\#2132](https://github.com/SeldonIO/seldon-core/issues/2132)
+
+**Closed issues:**
+
+- after run "kubectl get seldondeployments" but got "No resources found." [\#3010](https://github.com/SeldonIO/seldon-core/issues/3010)
+- Torchserve support [\#3002](https://github.com/SeldonIO/seldon-core/issues/3002)
+- Make Seldon Client REST requests more efficient [\#3001](https://github.com/SeldonIO/seldon-core/issues/3001)
+- Support model repositories with Triton Server [\#2986](https://github.com/SeldonIO/seldon-core/issues/2986)
+- Dependabot can't evaluate your Python dependency files [\#2975](https://github.com/SeldonIO/seldon-core/issues/2975)
+- seldon-batch-processor Install Instruction Missing [\#2956](https://github.com/SeldonIO/seldon-core/issues/2956)
+- Release 1.5.2 [\#2945](https://github.com/SeldonIO/seldon-core/issues/2945)
+- switch elastic helm chart to opendistro [\#2912](https://github.com/SeldonIO/seldon-core/issues/2912)
+- Make custom metrics work with gunicorn reload [\#2873](https://github.com/SeldonIO/seldon-core/issues/2873)
+- Create example using alert-manager for thresholds on Alibi Detect servers [\#2822](https://github.com/SeldonIO/seldon-core/issues/2822)
+- Allow annotations on Service created by operator [\#2590](https://github.com/SeldonIO/seldon-core/issues/2590)
+
+**Merged pull requests:**
+
+- Fixes broken docs-build test [\#3071](https://github.com/SeldonIO/seldon-core/pull/3071) ([axsaucedo](https://github.com/axsaucedo))
+- Support kfserving protocol in status URL [\#3064](https://github.com/SeldonIO/seldon-core/pull/3064) ([cliveseldon](https://github.com/cliveseldon))
+- environment.yml typo in docs [\#3061](https://github.com/SeldonIO/seldon-core/pull/3061) ([axsaucedo](https://github.com/axsaucedo))
+- fix broken link [\#3051](https://github.com/SeldonIO/seldon-core/pull/3051) ([axsaucedo](https://github.com/axsaucedo))
+- Revert "Update manifests to use 0.4.1 controller gen for webhook creation" [\#3049](https://github.com/SeldonIO/seldon-core/pull/3049) ([cliveseldon](https://github.com/cliveseldon))
+- Fix nil pointer dereference panics in mlserver [\#3047](https://github.com/SeldonIO/seldon-core/pull/3047) ([ivan-valkov](https://github.com/ivan-valkov))
+- docs: add helm v3 commands [\#3045](https://github.com/SeldonIO/seldon-core/pull/3045) ([masonlr](https://github.com/masonlr))
+- Delete mutating webhook if exists when operator creates resources [\#3031](https://github.com/SeldonIO/seldon-core/pull/3031) ([cliveseldon](https://github.com/cliveseldon))
+- Fixes \[#3029](https://github.com/SeldonIO/seldon-core/issues/3029) [\#3030](https://github.com/SeldonIO/seldon-core/pull/3030) ([axsaucedo](https://github.com/axsaucedo))
+- update python licenses [\#3028](https://github.com/SeldonIO/seldon-core/pull/3028) ([cliveseldon](https://github.com/cliveseldon))
+- Update health status [\#3023](https://github.com/SeldonIO/seldon-core/pull/3023) ([cliveseldon](https://github.com/cliveseldon))
+- Clear methods when Gunicorn worker exits [\#3018](https://github.com/SeldonIO/seldon-core/pull/3018) ([adriangonz](https://github.com/adriangonz))
+- Notebook tests/metrics server port 8003 [\#3015](https://github.com/SeldonIO/seldon-core/pull/3015) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- fix: missing string ending in python snippet in serving.md [\#3012](https://github.com/SeldonIO/seldon-core/pull/3012) ([AndreaSoprani](https://github.com/AndreaSoprani))
+- fix indentation of argo batch template [\#3008](https://github.com/SeldonIO/seldon-core/pull/3008) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update manifests to use 0.4.1 controller gen for webhook creation [\#3006](https://github.com/SeldonIO/seldon-core/pull/3006) ([cliveseldon](https://github.com/cliveseldon))
+- Experimental GPU Shap [\#2993](https://github.com/SeldonIO/seldon-core/pull/2993) ([cliveseldon](https://github.com/cliveseldon))
+- Redhat 1.6.0 [\#2992](https://github.com/SeldonIO/seldon-core/pull/2992) ([cliveseldon](https://github.com/cliveseldon))
+- Support model repositories for Triton and Tensorflow Servers [\#2990](https://github.com/SeldonIO/seldon-core/pull/2990) ([cliveseldon](https://github.com/cliveseldon))
+- small improvements to metrics server example [\#2989](https://github.com/SeldonIO/seldon-core/pull/2989) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Change version of JNI build image [\#2981](https://github.com/SeldonIO/seldon-core/pull/2981) ([adriangonz](https://github.com/adriangonz))
+- Addressing CVEs for Redhat Python based images [\#2977](https://github.com/SeldonIO/seldon-core/pull/2977) ([axsaucedo](https://github.com/axsaucedo))
+- Change seldon-core-microservice to spot unknown args [\#2976](https://github.com/SeldonIO/seldon-core/pull/2976) ([cliveseldon](https://github.com/cliveseldon))
+- Updated PIP in base image to align with Python Cryptography Framework version [\#2974](https://github.com/SeldonIO/seldon-core/pull/2974) ([axsaucedo](https://github.com/axsaucedo))
+- Amended docker mount folder for CI builds [\#2973](https://github.com/SeldonIO/seldon-core/pull/2973) ([axsaucedo](https://github.com/axsaucedo))
+- Fix elasticsearch index [\#2972](https://github.com/SeldonIO/seldon-core/pull/2972) ([fg91](https://github.com/fg91))
+- Addressing CVEs from Python base Image [\#2970](https://github.com/SeldonIO/seldon-core/pull/2970) ([axsaucedo](https://github.com/axsaucedo))
+- Upgrade jenkins x [\#2957](https://github.com/SeldonIO/seldon-core/pull/2957) ([axsaucedo](https://github.com/axsaucedo))
+- Remove managedFields from seldon pod spec metadata [\#2954](https://github.com/SeldonIO/seldon-core/pull/2954) ([ivan-valkov](https://github.com/ivan-valkov))
+- Fix version in files: 1.7.0-dev [\#2949](https://github.com/SeldonIO/seldon-core/pull/2949) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Change hashicorp/hcl dependency url to match new main branch [\#2948](https://github.com/SeldonIO/seldon-core/pull/2948) ([ivan-valkov](https://github.com/ivan-valkov))
+- Fix concurrent map writes in executor [\#2947](https://github.com/SeldonIO/seldon-core/pull/2947) ([ivan-valkov](https://github.com/ivan-valkov))
+- Update OWNERS to add Ivan [\#2946](https://github.com/SeldonIO/seldon-core/pull/2946) ([axsaucedo](https://github.com/axsaucedo))
+- Seldon CRD Status Removal [\#2941](https://github.com/SeldonIO/seldon-core/pull/2941) ([cliveseldon](https://github.com/cliveseldon))
+- Extract SeldonPodSpec Metadata into custom struct to allow structural CRD schema [\#2940](https://github.com/SeldonIO/seldon-core/pull/2940) ([ivan-valkov](https://github.com/ivan-valkov))
+- Extend CRD: allow to define storageInitializerImage in the graph definition [\#2937](https://github.com/SeldonIO/seldon-core/pull/2937) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- MAB Distributed Persistence with Redis [\#2936](https://github.com/SeldonIO/seldon-core/pull/2936) ([axsaucedo](https://github.com/axsaucedo))
+- Add more deps to cover whitebox TreeShap explainers [\#2935](https://github.com/SeldonIO/seldon-core/pull/2935) ([adriangonz](https://github.com/adriangonz))
+- Bump github.com/onsi/ginkgo from 1.14.1 to 1.15.0 in /operator [\#2930](https://github.com/SeldonIO/seldon-core/pull/2930) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump mypy-protobuf from 1.22 to 2.4 in /python [\#2928](https://github.com/SeldonIO/seldon-core/pull/2928) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- applied isort to seldon\_core and tests [\#2927](https://github.com/SeldonIO/seldon-core/pull/2927) ([zyxue](https://github.com/zyxue))
+- Updated 1.7.0 tag and added release notes [\#2925](https://github.com/SeldonIO/seldon-core/pull/2925) ([axsaucedo](https://github.com/axsaucedo))
+- opendistro elastic [\#2923](https://github.com/SeldonIO/seldon-core/pull/2923) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add summary metrics to executor [\#2922](https://github.com/SeldonIO/seldon-core/pull/2922) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update keda\_prom\_auto\_scale.ipynb to fix keda config in the doc [\#2915](https://github.com/SeldonIO/seldon-core/pull/2915) ([anggao](https://github.com/anggao))
+- Bump pytest from 6.2.1 to 6.2.2 in /python [\#2910](https://github.com/SeldonIO/seldon-core/pull/2910) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump coverage from 5.3.1 to 5.4 in /python [\#2908](https://github.com/SeldonIO/seldon-core/pull/2908) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Updated CR [\#2905](https://github.com/SeldonIO/seldon-core/pull/2905) ([axsaucedo](https://github.com/axsaucedo))
+- feat\(examples/pachyderm-cd4ml\): Add demo of redeploying old model [\#2898](https://github.com/SeldonIO/seldon-core/pull/2898) ([philwinder](https://github.com/philwinder))
+- feat\(svc\): Add predictorSpec annotations to service [\#2618](https://github.com/SeldonIO/seldon-core/pull/2618) ([groszewn](https://github.com/groszewn))
+
+
+[Changes][v1.7.0]
+
+
+
+## [v1.6.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.6.0) - 03 Feb 2021
+
+# Changelog
+
+## [v1.6.0](https://github.com/seldonio/seldon-core/tree/v1.6.0)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.5.1...v1.6.0)
+
+**Implemented enhancements:**
+
+- Create a prepackaged model server for PyTorch Models [\#831](https://github.com/SeldonIO/seldon-core/issues/831)
+
+**Fixed bugs:**
+
+- IsADirectoryError: \[Errno 21\] Is a directory: '/mnt/models' [\#2876](https://github.com/SeldonIO/seldon-core/issues/2876)
+- error: a container name must be specified for pod [\#2875](https://github.com/SeldonIO/seldon-core/issues/2875)
+- MLFlow server-- ModuleNotFoundError: No module named 'prediction' [\#2874](https://github.com/SeldonIO/seldon-core/issues/2874)
+- V1 CRD has missing grpcPort and httpPort [\#2866](https://github.com/SeldonIO/seldon-core/issues/2866)
+- Broken Link to Documentation Example I'd like to find if it exists [\#2836](https://github.com/SeldonIO/seldon-core/issues/2836)
+- Executor does not send feedback to Routers. [\#2827](https://github.com/SeldonIO/seldon-core/issues/2827)
+- ArgoCD OutOfSync if SeldonDeployment includes mountpoint [\#2811](https://github.com/SeldonIO/seldon-core/issues/2811)
+- Helm failing to fetch https://kubernetes-charts.storage.googleapis.com/ resulting in failing tests [\#2808](https://github.com/SeldonIO/seldon-core/issues/2808)
+- send\_feedback response is incorrectly managed in seldon\_methods.py [\#2801](https://github.com/SeldonIO/seldon-core/issues/2801)
+- Upgrading to 1.5.0 causes unexpected error when calling predict endpoint of Python custom model [\#2786](https://github.com/SeldonIO/seldon-core/issues/2786)
+- SHAP Breaks Alibi Detect on Python 3.6 due to unpinned Numpy dependency [\#2767](https://github.com/SeldonIO/seldon-core/issues/2767)
+- Error when using the R language wrapper [\#2744](https://github.com/SeldonIO/seldon-core/issues/2744)
+- Transformers model unable to run with Cuda [\#2680](https://github.com/SeldonIO/seldon-core/issues/2680)
+- Allow seldon manager to run as non-root [\#2631](https://github.com/SeldonIO/seldon-core/issues/2631)
+- Operator sets HTTPS on the Engine's liveness and ready checks [\#2586](https://github.com/SeldonIO/seldon-core/issues/2586)
+- high memory and cpu usage in deployment of xgboost rest [\#1986](https://github.com/SeldonIO/seldon-core/issues/1986)
+
+**Security fixes:**
+
+- Resolve CVE for PyYAML - CVE-2020-14343 [\#2252](https://github.com/SeldonIO/seldon-core/issues/2252)
+
+**Closed issues:**
+
+- CVE checks update for redhat image scans [\#2869](https://github.com/SeldonIO/seldon-core/issues/2869)
+- Does Seldon Batch Processing Work with Azure Blob Storage? [\#2858](https://github.com/SeldonIO/seldon-core/issues/2858)
+- Update engine docs as deprecated [\#2840](https://github.com/SeldonIO/seldon-core/issues/2840)
+- Support V2 Protocol in outlier and drift detectors [\#2831](https://github.com/SeldonIO/seldon-core/issues/2831)
+- add example of batch processor with rclone [\#2819](https://github.com/SeldonIO/seldon-core/issues/2819)
+- Add example of custom init container with rclone [\#2818](https://github.com/SeldonIO/seldon-core/issues/2818)
+- remove mutating webhook [\#2817](https://github.com/SeldonIO/seldon-core/issues/2817)
+- Handle KFServing V2 Protocol in request logger [\#2791](https://github.com/SeldonIO/seldon-core/issues/2791)
+- Create 1.5.1 release with cherrypick [\#2756](https://github.com/SeldonIO/seldon-core/issues/2756)
+- Use f-strings in MAB study case examples [\#2729](https://github.com/SeldonIO/seldon-core/issues/2729)
+- helm chart imagePullSecrets support to bypass ratelimiting [\#2694](https://github.com/SeldonIO/seldon-core/issues/2694)
+- Seldon-core-operator Update for handling namespace [\#2676](https://github.com/SeldonIO/seldon-core/issues/2676)
+- docs: No Release Highlights since 1.1.0 [\#2634](https://github.com/SeldonIO/seldon-core/issues/2634)
+- Depricate engine \(old Java service orchestrator\) [\#2588](https://github.com/SeldonIO/seldon-core/issues/2588)
+- Add support for Datadog Tracing in the Executor and the Python Wrapper [\#2436](https://github.com/SeldonIO/seldon-core/issues/2436)
+- Multi\_Archtecture Support [\#2333](https://github.com/SeldonIO/seldon-core/issues/2333)
+- Make deployment names configurable [\#2301](https://github.com/SeldonIO/seldon-core/issues/2301)
+- java-wrapper-0.2.0 jar is not checked for validity [\#2180](https://github.com/SeldonIO/seldon-core/issues/2180)
+- Stateful Model Serving by Saving state to Redis [\#2138](https://github.com/SeldonIO/seldon-core/issues/2138)
+- Add documentation on how to extend base prepackaged servers with new images \(xgboost, sklearn, etc\) [\#2060](https://github.com/SeldonIO/seldon-core/issues/2060)
+- Add documentation that dives into the iniContainer [\#2055](https://github.com/SeldonIO/seldon-core/issues/2055)
+- Multiplexing or parallel serving of gRPC / REST in Python Wrapper [\#1968](https://github.com/SeldonIO/seldon-core/issues/1968)
+- Allow globally configurable docker registry secret for seldon deployments [\#1923](https://github.com/SeldonIO/seldon-core/issues/1923)
+- Remove probesonly flag [\#1856](https://github.com/SeldonIO/seldon-core/issues/1856)
+- Use custom errors [\#1841](https://github.com/SeldonIO/seldon-core/issues/1841)
+- Allow mixed rest/grpc graphs in new golang based executor [\#1820](https://github.com/SeldonIO/seldon-core/issues/1820)
+
+**Merged pull requests:**
+
+- yum update seemingly not needed for operator [\#2918](https://github.com/SeldonIO/seldon-core/pull/2918) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- update licenses for 1.6.0 [\#2916](https://github.com/SeldonIO/seldon-core/pull/2916) ([cliveseldon](https://github.com/cliveseldon))
+- Update cuda version in wrapper Dockerfile.GPU [\#2906](https://github.com/SeldonIO/seldon-core/pull/2906) ([ashrafgt](https://github.com/ashrafgt))
+- Update Python Builder to use latest git for compatibility with github actions [\#2894](https://github.com/SeldonIO/seldon-core/pull/2894) ([axsaucedo](https://github.com/axsaucedo))
+- Github Action fixes [\#2892](https://github.com/SeldonIO/seldon-core/pull/2892) ([axsaucedo](https://github.com/axsaucedo))
+- 2252 resolve pyyaml cve [\#2891](https://github.com/SeldonIO/seldon-core/pull/2891) ([axsaucedo](https://github.com/axsaucedo))
+- Moving basic CI to github actions [\#2889](https://github.com/SeldonIO/seldon-core/pull/2889) ([axsaucedo](https://github.com/axsaucedo))
+- Generate helm-charts again to fix: Error: secrets "seldon-webhook-ser… [\#2886](https://github.com/SeldonIO/seldon-core/pull/2886) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- updates for redhat scans [\#2870](https://github.com/SeldonIO/seldon-core/pull/2870) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fix grpcPort and httpPort in v1 CRD [\#2868](https://github.com/SeldonIO/seldon-core/pull/2868) ([cliveseldon](https://github.com/cliveseldon))
+- Revert "Bump pandas from 1.1.0 to 1.2.0 in /python" [\#2867](https://github.com/SeldonIO/seldon-core/pull/2867) ([adriangonz](https://github.com/adriangonz))
+- Allow feedback for routers and update router examples [\#2865](https://github.com/SeldonIO/seldon-core/pull/2865) ([cliveseldon](https://github.com/cliveseldon))
+- Update Seldon versions for upgrade tests [\#2861](https://github.com/SeldonIO/seldon-core/pull/2861) ([adriangonz](https://github.com/adriangonz))
+- Deprecate Java engine [\#2857](https://github.com/SeldonIO/seldon-core/pull/2857) ([adriangonz](https://github.com/adriangonz))
+- Add engine deprecation note [\#2856](https://github.com/SeldonIO/seldon-core/pull/2856) ([adriangonz](https://github.com/adriangonz))
+- Manager running as non-root [\#2853](https://github.com/SeldonIO/seldon-core/pull/2853) ([cliveseldon](https://github.com/cliveseldon))
+- remove mutating webhook from Seldon Core Operator [\#2852](https://github.com/SeldonIO/seldon-core/pull/2852) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump pandas from 1.1.0 to 1.2.0 in /python [\#2846](https://github.com/SeldonIO/seldon-core/pull/2846) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Rclone powered batch [\#2842](https://github.com/SeldonIO/seldon-core/pull/2842) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- add hdfs example [\#2841](https://github.com/SeldonIO/seldon-core/pull/2841) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- 2744 R Language Wrapper Fix for JSON requests [\#2837](https://github.com/SeldonIO/seldon-core/pull/2837) ([axsaucedo](https://github.com/axsaucedo))
+- Revert "Bump pandas from 1.1.0 to 1.2.0 in /python" [\#2835](https://github.com/SeldonIO/seldon-core/pull/2835) ([axsaucedo](https://github.com/axsaucedo))
+- Example: Pachyderm -\> Seldon-Core CD4ML [\#2833](https://github.com/SeldonIO/seldon-core/pull/2833) ([philwinder](https://github.com/philwinder))
+- Update Alibi Detect Server [\#2832](https://github.com/SeldonIO/seldon-core/pull/2832) ([cliveseldon](https://github.com/cliveseldon))
+- Update jaeger-client requirement from \<4.4.0,\>=4.1.0 to \>=4.1.0,\<4.5.0 in /python [\#2828](https://github.com/SeldonIO/seldon-core/pull/2828) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- fix nblink to include image of pachyderm example [\#2820](https://github.com/SeldonIO/seldon-core/pull/2820) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- update triton tfserving example [\#2815](https://github.com/SeldonIO/seldon-core/pull/2815) ([cliveseldon](https://github.com/cliveseldon))
+- extend init containers documentation [\#2814](https://github.com/SeldonIO/seldon-core/pull/2814) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- minor fix to pachyderm example \(doc paths\) [\#2813](https://github.com/SeldonIO/seldon-core/pull/2813) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump pillow from 8.0.1 to 8.1.0 in /python [\#2810](https://github.com/SeldonIO/seldon-core/pull/2810) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Helm chart repo fix for integration tests [\#2809](https://github.com/SeldonIO/seldon-core/pull/2809) ([axsaucedo](https://github.com/axsaucedo))
+- Fix send\_feedback response wrongly wrapped as ndarray [\#2807](https://github.com/SeldonIO/seldon-core/pull/2807) ([frr-ndr](https://github.com/frr-ndr))
+- Bump pandas from 1.1.0 to 1.2.0 in /python [\#2804](https://github.com/SeldonIO/seldon-core/pull/2804) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update request logger to support v2 protocol [\#2802](https://github.com/SeldonIO/seldon-core/pull/2802) ([cliveseldon](https://github.com/cliveseldon))
+- Bump pytest from 6.2.0 to 6.2.1 in /python [\#2797](https://github.com/SeldonIO/seldon-core/pull/2797) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump tenacity from 6.2.0 to 6.3.1 in /python [\#2796](https://github.com/SeldonIO/seldon-core/pull/2796) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump coverage from 5.3 to 5.3.1 in /python [\#2795](https://github.com/SeldonIO/seldon-core/pull/2795) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Updated changelog for v1.5.1 [\#2792](https://github.com/SeldonIO/seldon-core/pull/2792) ([axsaucedo](https://github.com/axsaucedo))
+- Bump tensorflow from 1.15.4 to 2.4.0 in /testing/scripts [\#2790](https://github.com/SeldonIO/seldon-core/pull/2790) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Bump tensorflow from 1.15.4 to 2.4.0 in /examples/explainers/imagenet/resources/transformer [\#2789](https://github.com/SeldonIO/seldon-core/pull/2789) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Bump github.com/onsi/gomega from 1.10.2 to 1.10.4 in /operator [\#2778](https://github.com/SeldonIO/seldon-core/pull/2778) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pytest from 6.1.2 to 6.2.0 in /python [\#2772](https://github.com/SeldonIO/seldon-core/pull/2772) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Added f-strings in MAB study case examples [\#2771](https://github.com/SeldonIO/seldon-core/pull/2771) ([midhun1998](https://github.com/midhun1998))
+- Extending Alibi Detect Server to expose prometheus metrics for outliers [\#2770](https://github.com/SeldonIO/seldon-core/pull/2770) ([axsaucedo](https://github.com/axsaucedo))
+- updated black version to 20.8b1 [\#2769](https://github.com/SeldonIO/seldon-core/pull/2769) ([zyxue](https://github.com/zyxue))
+- feat\(examples/pachyderm-simple\): Update and improve Pachyderm example [\#2764](https://github.com/SeldonIO/seldon-core/pull/2764) ([philwinder](https://github.com/philwinder))
+- Allow Namespace Override for seldon-core-operator [\#2762](https://github.com/SeldonIO/seldon-core/pull/2762) ([ntorba](https://github.com/ntorba))
+
+
+[Changes][v1.6.0]
+
+
+
+## [v1.5.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.5.1) - 19 Dec 2020
+
+## [v1.5.1](https://github.com/seldonio/seldon-core/tree/HEAD)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.5.0...v1.5.1)
+
+**Fixed bugs:**
+
+- SC Operator continues to reconcile objects that are being \(foreground\) delete [\#2781](https://github.com/SeldonIO/seldon-core/issues/2781)
+- Custom metrics not available in Prometheus [\#2766](https://github.com/SeldonIO/seldon-core/issues/2766)
+- seldon-batch-processor on seldon-core-s2i-python37 image is not generating any output [\#2745](https://github.com/SeldonIO/seldon-core/issues/2745)
+- transport: is not respected on seldondeployment [\#2540](https://github.com/SeldonIO/seldon-core/issues/2540)
+- helm install results in wrong configmap [\#2528](https://github.com/SeldonIO/seldon-core/issues/2528)
+
+**Closed issues:**
+
+- Hard requirement in Tensorflow \(API\) on GRPCIO 1.32.x breaks Seldon Core [\#2787](https://github.com/SeldonIO/seldon-core/issues/2787)
+- istio request timeouts [\#2727](https://github.com/SeldonIO/seldon-core/issues/2727)
+- Document how to run python wrapper locally for development [\#2722](https://github.com/SeldonIO/seldon-core/issues/2722)
+- Swagger API needs to be upgraded following best practices [\#2669](https://github.com/SeldonIO/seldon-core/issues/2669)
+- Authentication support for ELK Logging [\#2300](https://github.com/SeldonIO/seldon-core/issues/2300)
+- Support for xgboost4j-spark 0.9 [\#1395](https://github.com/SeldonIO/seldon-core/issues/1395)
+
+**Merged pull requests:**
+
+- Adds GRPCIO guards on tfserving-proxy server to fix version clash [\#2788](https://github.com/SeldonIO/seldon-core/pull/2788) ([axsaucedo](https://github.com/axsaucedo))
+- do not act on resources that have deletion timestamp set [\#2782](https://github.com/SeldonIO/seldon-core/pull/2782) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump pytest from 6.1.2 to 6.2.0 in /python [\#2772](https://github.com/SeldonIO/seldon-core/pull/2772) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Added workaround for alibi explainer image build [\#2768](https://github.com/SeldonIO/seldon-core/pull/2768) ([axsaucedo](https://github.com/axsaucedo))
+- Update Timeouts Notebook [\#2753](https://github.com/SeldonIO/seldon-core/pull/2753) ([cliveseldon](https://github.com/cliveseldon))
+- Revert "Add security context to seldon-controller-manager deployment" [\#2752](https://github.com/SeldonIO/seldon-core/pull/2752) ([cliveseldon](https://github.com/cliveseldon))
+- Bump grpcio-reflection from 1.33.2 to 1.34.0 in /python [\#2749](https://github.com/SeldonIO/seldon-core/pull/2749) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update image make minio client compatible with ssl cert mismatch and add delete step [\#2746](https://github.com/SeldonIO/seldon-core/pull/2746) ([omerfsen](https://github.com/omerfsen))
+- Update licenses [\#2743](https://github.com/SeldonIO/seldon-core/pull/2743) ([cliveseldon](https://github.com/cliveseldon))
+- Redhat 1.5.0 release [\#2739](https://github.com/SeldonIO/seldon-core/pull/2739) ([cliveseldon](https://github.com/cliveseldon))
+- add python wrapper developer notes [\#2738](https://github.com/SeldonIO/seldon-core/pull/2738) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update OWNERS\_ALIASES [\#2733](https://github.com/SeldonIO/seldon-core/pull/2733) ([axsaucedo](https://github.com/axsaucedo))
+- Update OWNERS [\#2732](https://github.com/SeldonIO/seldon-core/pull/2732) ([axsaucedo](https://github.com/axsaucedo))
+- Release 1.5.0 Highlights [\#2731](https://github.com/SeldonIO/seldon-core/pull/2731) ([cliveseldon](https://github.com/cliveseldon))
+- add `--no-cache-dir` inside s2i wrappers [\#2725](https://github.com/SeldonIO/seldon-core/pull/2725) ([M46F](https://github.com/M46F))
+- remove legacy Python2 components [\#2724](https://github.com/SeldonIO/seldon-core/pull/2724) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Routing metadata and fixed MAB case study [\#2723](https://github.com/SeldonIO/seldon-core/pull/2723) ([axsaucedo](https://github.com/axsaucedo))
+- Bump github.com/google/go-cmp from 0.5.1 to 0.5.4 in /operator [\#2719](https://github.com/SeldonIO/seldon-core/pull/2719) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump gopkg.in/yaml.v2 from 2.3.0 to 2.4.0 in /operator [\#2718](https://github.com/SeldonIO/seldon-core/pull/2718) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pip-licenses from 3.0.0 to 3.1.0 in /python [\#2717](https://github.com/SeldonIO/seldon-core/pull/2717) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump grpcio-reflection from 1.29.0 to 1.33.2 in /python [\#2715](https://github.com/SeldonIO/seldon-core/pull/2715) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Rebuilt CRDs for 1.5.0 release [\#2712](https://github.com/SeldonIO/seldon-core/pull/2712) ([axsaucedo](https://github.com/axsaucedo))
+- Add accesslog control flag for seldon-core python module [\#2711](https://github.com/SeldonIO/seldon-core/pull/2711) ([anggao](https://github.com/anggao))
+- Add security context to seldon-controller-manager deployment [\#2709](https://github.com/SeldonIO/seldon-core/pull/2709) ([mo-saeed](https://github.com/mo-saeed))
+- Further release 1.6.0 version replace [\#2708](https://github.com/SeldonIO/seldon-core/pull/2708) ([axsaucedo](https://github.com/axsaucedo))
+- Bumping version to 1.6.0-dev and updating CHANGELOG [\#2707](https://github.com/SeldonIO/seldon-core/pull/2707) ([axsaucedo](https://github.com/axsaucedo))
+- WIP: Updating OpenAPI schema schema [\#2700](https://github.com/SeldonIO/seldon-core/pull/2700) ([axsaucedo](https://github.com/axsaucedo))
+- Update ambassador doc for shadow deployment [\#2697](https://github.com/SeldonIO/seldon-core/pull/2697) ([anggao](https://github.com/anggao))
+- Add sideEffects to Webhooks to allow Dry Runs [\#2651](https://github.com/SeldonIO/seldon-core/pull/2651) ([cliveseldon](https://github.com/cliveseldon))
+- add gRPC reflection support for seldon-core-executor and python wrapper [\#2395](https://github.com/SeldonIO/seldon-core/pull/2395) ([CatTail](https://github.com/CatTail))
+
+
+
+[Changes][v1.5.1]
+
+
+
+## [v1.5.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.5.0) - 04 Dec 2020
+
+
+## [v1.5.0](https://github.com/seldonio/seldon-core/tree/v1.5.0) (2020-11-24)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.4.0...v1.5.0)
+
+**Fixed bugs:**
+
+- Add a note in istio doc about pod security context for nonroot user [\#2686](https://github.com/SeldonIO/seldon-core/issues/2686)
+- KEDA notebook testing is broken [\#2683](https://github.com/SeldonIO/seldon-core/issues/2683)
+- \[BUG\] NodeSelector not working in SeldonDeployment [\#2682](https://github.com/SeldonIO/seldon-core/issues/2682)
+- minio setup notebook needs updating [\#2670](https://github.com/SeldonIO/seldon-core/issues/2670)
+- Alibi detect does not expose metrics when value is 0 [\#2668](https://github.com/SeldonIO/seldon-core/issues/2668)
+- Explainer wrapper should not add model to path for Tensorflow protocol [\#2664](https://github.com/SeldonIO/seldon-core/issues/2664)
+- Python processes when running Seldon with Gunicorn [\#2617](https://github.com/SeldonIO/seldon-core/issues/2617)
+- Update KEDA example to use v2.0 GA version [\#2614](https://github.com/SeldonIO/seldon-core/issues/2614)
+- Tutorial issues - CIFAR10 Drift Detection [\#2605](https://github.com/SeldonIO/seldon-core/issues/2605)
+- Conflict between gunicorn, gevent, and TensorFlow [\#2603](https://github.com/SeldonIO/seldon-core/issues/2603)
+- Fix notebook failing integartion tests for sklearn and xgboost V2 [\#2589](https://github.com/SeldonIO/seldon-core/issues/2589)
+- Repeatedly logging \[DEBUG\] Closing connection. [\#2568](https://github.com/SeldonIO/seldon-core/issues/2568)
+- Not able to pass string as input to the predict function. [\#2553](https://github.com/SeldonIO/seldon-core/issues/2553)
+- Notebook test `test\_custom\_metrics` failing in master [\#2541](https://github.com/SeldonIO/seldon-core/issues/2541)
+- grafana-prom-import-dashboards pod always fail in seldon-core-analytics chat [\#2518](https://github.com/SeldonIO/seldon-core/issues/2518)
+- requestPath meta missing in new executor [\#2505](https://github.com/SeldonIO/seldon-core/issues/2505)
+
+**Closed issues:**
+
+- use service account for argo batch example [\#2673](https://github.com/SeldonIO/seldon-core/issues/2673)
+- Update metrics exposed by alibi detect server to include all newer components \(threshold, etc\) [\#2667](https://github.com/SeldonIO/seldon-core/issues/2667)
+- Add namespace to metrics component in seldon core python module [\#2666](https://github.com/SeldonIO/seldon-core/issues/2666)
+- Explore send\_feedback path for tensorflow protocol [\#2665](https://github.com/SeldonIO/seldon-core/issues/2665)
+- More restricted deployment rbac for seldon-core [\#2662](https://github.com/SeldonIO/seldon-core/issues/2662)
+- GCP Workload Identity Support for GCS - Prepackaged Model Server [\#2654](https://github.com/SeldonIO/seldon-core/issues/2654)
+- document how to use custom init containers [\#2610](https://github.com/SeldonIO/seldon-core/issues/2610)
+- Grafana on Ambassador \(Public DNS\)? [\#2591](https://github.com/SeldonIO/seldon-core/issues/2591)
+- new knative filtering [\#2551](https://github.com/SeldonIO/seldon-core/issues/2551)
+- Support gRPC and HTTP protocols at the same time [\#2378](https://github.com/SeldonIO/seldon-core/issues/2378)
+- Allow Inference Graphs to mix Protocols with the Executor [\#2299](https://github.com/SeldonIO/seldon-core/issues/2299)
+- Initial / immediate term base infrastructure for stateful metrics with feedback \(custom metrics naming, concurrency coherence, etc\) [\#2272](https://github.com/SeldonIO/seldon-core/issues/2272)
+- Remove OAuth code from Seldon Client [\#1677](https://github.com/SeldonIO/seldon-core/issues/1677)
+
+**Merged pull requests:**
+
+- Add back "seldon" gateway [\#2701](https://github.com/SeldonIO/seldon-core/pull/2701) ([adriangonz](https://github.com/adriangonz))
+- fix batch logging [\#2699](https://github.com/SeldonIO/seldon-core/pull/2699) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix typo in ci build images script [\#2698](https://github.com/SeldonIO/seldon-core/pull/2698) ([axsaucedo](https://github.com/axsaucedo))
+- Prepare 1.5.0 release updating docs [\#2695](https://github.com/SeldonIO/seldon-core/pull/2695) ([axsaucedo](https://github.com/axsaucedo))
+- Updates for Openshift release process [\#2692](https://github.com/SeldonIO/seldon-core/pull/2692) ([cliveseldon](https://github.com/cliveseldon))
+- Bump sigs.k8s.io/controller-runtime from 0.6.3 to 0.6.4 in /operator [\#2691](https://github.com/SeldonIO/seldon-core/pull/2691) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update opentracing requirement from \<2.4.0,\>=2.2.0 to \>=2.2.0,\<2.5.0 in /python [\#2690](https://github.com/SeldonIO/seldon-core/pull/2690) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Explore enabling send\_feedback path for tensorflow protocol [\#2688](https://github.com/SeldonIO/seldon-core/pull/2688) ([axsaucedo](https://github.com/axsaucedo))
+- Add Istio Troubleshoot for nonroot issue [\#2687](https://github.com/SeldonIO/seldon-core/pull/2687) ([anggao](https://github.com/anggao))
+- Update testing script for KEDA v2.0 GA [\#2684](https://github.com/SeldonIO/seldon-core/pull/2684) ([anggao](https://github.com/anggao))
+- Updated alibi detect to 0.4.3 [\#2678](https://github.com/SeldonIO/seldon-core/pull/2678) ([axsaucedo](https://github.com/axsaucedo))
+- update minio setup [\#2675](https://github.com/SeldonIO/seldon-core/pull/2675) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- use service account for argo example [\#2674](https://github.com/SeldonIO/seldon-core/pull/2674) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Alibi detect enhancements \(Expose metrics with 0 value and include seldon\_deployment\_namespace tag to metric\) [\#2672](https://github.com/SeldonIO/seldon-core/pull/2672) ([axsaucedo](https://github.com/axsaucedo))
+- Fix tensorflow prediction from explainer [\#2671](https://github.com/SeldonIO/seldon-core/pull/2671) ([cliveseldon](https://github.com/cliveseldon))
+- Fix MLflow and TFServing images build [\#2655](https://github.com/SeldonIO/seldon-core/pull/2655) ([adriangonz](https://github.com/adriangonz))
+- WIP: add feedback to batch processor [\#2653](https://github.com/SeldonIO/seldon-core/pull/2653) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add retries for V2 protocol tests [\#2650](https://github.com/SeldonIO/seldon-core/pull/2650) ([adriangonz](https://github.com/adriangonz))
+- Seldon C++ wrapper [\#2639](https://github.com/SeldonIO/seldon-core/pull/2639) ([axsaucedo](https://github.com/axsaucedo))
+- Update workflow to work on Istio enabled namespace [\#2636](https://github.com/SeldonIO/seldon-core/pull/2636) ([omerfsen](https://github.com/omerfsen))
+- Fix typo in reply url in outlier example [\#2635](https://github.com/SeldonIO/seldon-core/pull/2635) ([cliveseldon](https://github.com/cliveseldon))
+- Batch race condition fix [\#2630](https://github.com/SeldonIO/seldon-core/pull/2630) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Use UTF-8 code for check mark [\#2627](https://github.com/SeldonIO/seldon-core/pull/2627) ([adriangonz](https://github.com/adriangonz))
+- Update Alibi-Detect wrapper and drift and outlier examples [\#2626](https://github.com/SeldonIO/seldon-core/pull/2626) ([cliveseldon](https://github.com/cliveseldon))
+- upgrade knative version [\#2624](https://github.com/SeldonIO/seldon-core/pull/2624) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Remove references to OAuth and the deprecated Seldon OAuth gateway [\#2623](https://github.com/SeldonIO/seldon-core/pull/2623) ([adriangonz](https://github.com/adriangonz))
+- Parameterize mc image and fix access\_key/secret\_key [\#2619](https://github.com/SeldonIO/seldon-core/pull/2619) ([omerfsen](https://github.com/omerfsen))
+- Upgrade to use KEDA v2.0 GA version in the demo [\#2615](https://github.com/SeldonIO/seldon-core/pull/2615) ([anggao](https://github.com/anggao))
+- \[Docs\] Removed metadata from incubating as its graduated feature [\#2613](https://github.com/SeldonIO/seldon-core/pull/2613) ([axsaucedo](https://github.com/axsaucedo))
+- Fixed a typo \([@trivial](https://github.com/trivial)\) [\#2612](https://github.com/SeldonIO/seldon-core/pull/2612) ([welcomemandeep](https://github.com/welcomemandeep))
+- Update Operator and Executor Licenses [\#2608](https://github.com/SeldonIO/seldon-core/pull/2608) ([cliveseldon](https://github.com/cliveseldon))
+- Metrics server with capabilities to fetch response from elasticsearch via request Puid in feedback request [\#2604](https://github.com/SeldonIO/seldon-core/pull/2604) ([axsaucedo](https://github.com/axsaucedo))
+- Bump grpcio-tools from 1.32.0 to 1.33.2 in /python [\#2593](https://github.com/SeldonIO/seldon-core/pull/2593) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pytest from 6.1.0 to 6.1.2 in /python [\#2592](https://github.com/SeldonIO/seldon-core/pull/2592) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Add requestPath metadata on Python Wrapper [\#2587](https://github.com/SeldonIO/seldon-core/pull/2587) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update to 1.5.0-dev [\#2583](https://github.com/SeldonIO/seldon-core/pull/2583) ([cliveseldon](https://github.com/cliveseldon))
+- Bump pip-licenses from 2.3.0 to 3.0.0 in /python [\#2577](https://github.com/SeldonIO/seldon-core/pull/2577) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pillow from 8.0.0 to 8.0.1 in /python [\#2576](https://github.com/SeldonIO/seldon-core/pull/2576) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Allow both http and grpc [\#2574](https://github.com/SeldonIO/seldon-core/pull/2574) ([cliveseldon](https://github.com/cliveseldon))
+- Bump MLServer image to 0.1.1 [\#2558](https://github.com/SeldonIO/seldon-core/pull/2558) ([adriangonz](https://github.com/adriangonz))
+- add prototype of distributed inference computing with Seldon & Ray [\#2517](https://github.com/SeldonIO/seldon-core/pull/2517) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+
+
+[Changes][v1.5.0]
+
+
+
+## [v1.4.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.4.0) - 26 Oct 2020
+
+## [v1.4.0](https://github.com/seldonio/seldon-core/tree/v1.4.0) (2020-10-26)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.3.0...v1.4.0)
+
+**Fixed bugs:**
+
+- protocols\_example notebook is failing tests [\#2569](https://github.com/SeldonIO/seldon-core/issues/2569)
+- KEDA prom auto scale notebook is broken [\#2563](https://github.com/SeldonIO/seldon-core/issues/2563)
+- transport: is not respected on seldondeployment [\#2539](https://github.com/SeldonIO/seldon-core/issues/2539)
+- Add integration test for outlier detection server [\#2535](https://github.com/SeldonIO/seldon-core/issues/2535)
+- LibGL fix to be cherry picked for 1.3.1 [\#2534](https://github.com/SeldonIO/seldon-core/issues/2534)
+- ADServer Crashes due to updated dependencies [\#2533](https://github.com/SeldonIO/seldon-core/issues/2533)
+- Integration test failed due to alibi\_explainer container [\#2529](https://github.com/SeldonIO/seldon-core/issues/2529)
+- Missing comma in the operator/config/manager/configmap.yaml [\#2526](https://github.com/SeldonIO/seldon-core/issues/2526)
+- alertmanager errors from prometheus [\#2525](https://github.com/SeldonIO/seldon-core/issues/2525)
+- Triton Server Image Incorrect [\#2511](https://github.com/SeldonIO/seldon-core/issues/2511)
+- Ensure all image errors are caugh on the build script [\#2509](https://github.com/SeldonIO/seldon-core/issues/2509)
+- Update helm publishing Makefile for seldon-core-kafka chart removal [\#2502](https://github.com/SeldonIO/seldon-core/issues/2502)
+- Seldon does not work with Gunicorn async workers [\#2499](https://github.com/SeldonIO/seldon-core/issues/2499)
+- CI build/push failures on tfserving-proxy image are not included in exit values [\#2477](https://github.com/SeldonIO/seldon-core/issues/2477)
+- Explicitly define default requests and limits for engine container [\#2475](https://github.com/SeldonIO/seldon-core/issues/2475)
+- Fix broken documentation links [\#1760](https://github.com/SeldonIO/seldon-core/issues/1760)
+
+**Closed issues:**
+
+- add jsondata handling to req logger [\#2566](https://github.com/SeldonIO/seldon-core/issues/2566)
+- Seldon Core explainers to use alibi v0.5.5 [\#2562](https://github.com/SeldonIO/seldon-core/issues/2562)
+- Seldon Core 1.19 Kubernetes Support [\#2550](https://github.com/SeldonIO/seldon-core/issues/2550)
+- Add pidfile config for gunicorn [\#2546](https://github.com/SeldonIO/seldon-core/issues/2546)
+- Extend drift detector server \(inside alibi detect server\) to return metrics [\#2537](https://github.com/SeldonIO/seldon-core/issues/2537)
+- Update operator Redhat and OperatorHub integration [\#2532](https://github.com/SeldonIO/seldon-core/issues/2532)
+- Add requestPath back to the meta data [\#2531](https://github.com/SeldonIO/seldon-core/issues/2531)
+- easy to run out of disk with prometheus [\#2523](https://github.com/SeldonIO/seldon-core/issues/2523)
+- Support PDB specifications for SeldonDeployments [\#2508](https://github.com/SeldonIO/seldon-core/issues/2508)
+- Add KEDA support for seldon-core [\#2498](https://github.com/SeldonIO/seldon-core/issues/2498)
+- prometheus metrics for usage by seldondeployment [\#2483](https://github.com/SeldonIO/seldon-core/issues/2483)
+- Add SKLearn and XGBoost examples for MLServer / V2 Dataplane [\#2479](https://github.com/SeldonIO/seldon-core/issues/2479)
+- Support seldon-core running on knative serving like kfserving [\#2476](https://github.com/SeldonIO/seldon-core/issues/2476)
+- Triton server support with kfserving protocol [\#2460](https://github.com/SeldonIO/seldon-core/issues/2460)
+- Question about running grafana-prom for examples/kubeflow [\#2440](https://github.com/SeldonIO/seldon-core/issues/2440)
+- Data Science Metrics Core Update v1 [\#2397](https://github.com/SeldonIO/seldon-core/issues/2397)
+- configurable metrics port name for analytics [\#1809](https://github.com/SeldonIO/seldon-core/issues/1809)
+
+**Merged pull requests:**
+
+- Update to 1.4.0-dev missing image version [\#2579](https://github.com/SeldonIO/seldon-core/pull/2579) ([cliveseldon](https://github.com/cliveseldon))
+- Adding prom annotations for feedback metrics server example [\#2572](https://github.com/SeldonIO/seldon-core/pull/2572) ([SachinVarghese](https://github.com/SachinVarghese))
+- Update to Alibi 0.5.5 [\#2571](https://github.com/SeldonIO/seldon-core/pull/2571) ([cliveseldon](https://github.com/cliveseldon))
+- req logger to handle jsonData [\#2567](https://github.com/SeldonIO/seldon-core/pull/2567) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fix keda notebook testing [\#2565](https://github.com/SeldonIO/seldon-core/pull/2565) ([anggao](https://github.com/anggao))
+- Fix protocols\_example [\#2564](https://github.com/SeldonIO/seldon-core/pull/2564) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Updated version file to 1.4.0-dev [\#2561](https://github.com/SeldonIO/seldon-core/pull/2561) ([axsaucedo](https://github.com/axsaucedo))
+- image versions reference for next release [\#2560](https://github.com/SeldonIO/seldon-core/pull/2560) ([gsunner](https://github.com/gsunner))
+- Extend drift detect server to expose metrics [\#2557](https://github.com/SeldonIO/seldon-core/pull/2557) ([axsaucedo](https://github.com/axsaucedo))
+- Bump pillow from 7.2.0 to 8.0.0 in /python [\#2554](https://github.com/SeldonIO/seldon-core/pull/2554) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- fix links in docs by re-adding .html suffix [\#2549](https://github.com/SeldonIO/seldon-core/pull/2549) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- fix links to metrics notebooks [\#2548](https://github.com/SeldonIO/seldon-core/pull/2548) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add pidfile config for gunicorn [\#2547](https://github.com/SeldonIO/seldon-core/pull/2547) ([anggao](https://github.com/anggao))
+- Update mypy requirement from \<0.783 to \<0.791 in /python [\#2545](https://github.com/SeldonIO/seldon-core/pull/2545) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Operator sdk v1 [\#2543](https://github.com/SeldonIO/seldon-core/pull/2543) ([cliveseldon](https://github.com/cliveseldon))
+- Fix dead links in docs and add linter [\#2538](https://github.com/SeldonIO/seldon-core/pull/2538) ([adriangonz](https://github.com/adriangonz))
+- Fixed AD Server Dependencies and Added notebook integration test [\#2536](https://github.com/SeldonIO/seldon-core/pull/2536) ([axsaucedo](https://github.com/axsaucedo))
+- fix integration test caused by protobuf binary [\#2530](https://github.com/SeldonIO/seldon-core/pull/2530) ([anggao](https://github.com/anggao))
+- fix integration test by adding the missing comma [\#2527](https://github.com/SeldonIO/seldon-core/pull/2527) ([anggao](https://github.com/anggao))
+- increase scrape interval to reduce disk usage [\#2524](https://github.com/SeldonIO/seldon-core/pull/2524) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- remove reference to kafka chart [\#2516](https://github.com/SeldonIO/seldon-core/pull/2516) ([gsunner](https://github.com/gsunner))
+- feat\(pdb\): Add support for managing PDBs [\#2515](https://github.com/SeldonIO/seldon-core/pull/2515) ([groszewn](https://github.com/groszewn))
+- feat\(defaults\): Add default resources to engine/executor container [\#2514](https://github.com/SeldonIO/seldon-core/pull/2514) ([groszewn](https://github.com/groszewn))
+- Fix image version bug to not overwrite non seldon images [\#2513](https://github.com/SeldonIO/seldon-core/pull/2513) ([cliveseldon](https://github.com/cliveseldon))
+- Add V2 examples for SKLearn and XGBoost [\#2512](https://github.com/SeldonIO/seldon-core/pull/2512) ([adriangonz](https://github.com/adriangonz))
+- fix build\_all\_local.sh script to use correct gpu-related scripts [\#2510](https://github.com/SeldonIO/seldon-core/pull/2510) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add KEDA support to seldon-core [\#2506](https://github.com/SeldonIO/seldon-core/pull/2506) ([anggao](https://github.com/anggao))
+- Added Kafka Protocol Example with Sklearn Spacy NLP [\#2501](https://github.com/SeldonIO/seldon-core/pull/2501) ([axsaucedo](https://github.com/axsaucedo))
+- Add new Python licenses [\#2500](https://github.com/SeldonIO/seldon-core/pull/2500) ([adriangonz](https://github.com/adriangonz))
+- Update licenses [\#2496](https://github.com/SeldonIO/seldon-core/pull/2496) ([adriangonz](https://github.com/adriangonz))
+- Bump sigs.k8s.io/controller-runtime from 0.6.2 to 0.6.3 in /operator [\#2495](https://github.com/SeldonIO/seldon-core/pull/2495) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump github.com/prometheus/common from 0.13.0 to 0.14.0 in /executor [\#2493](https://github.com/SeldonIO/seldon-core/pull/2493) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump go.uber.org/zap from 1.15.0 to 1.16.0 in /executor [\#2491](https://github.com/SeldonIO/seldon-core/pull/2491) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump sigs.k8s.io/controller-runtime from 0.6.2 to 0.6.3 in /executor [\#2490](https://github.com/SeldonIO/seldon-core/pull/2490) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pytest from 6.0.2 to 6.1.0 in /python [\#2489](https://github.com/SeldonIO/seldon-core/pull/2489) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump tensorflow from 1.15.2 to 1.15.4 in /testing/scripts [\#2488](https://github.com/SeldonIO/seldon-core/pull/2488) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Update sklearn\_spacy\_text\_classifier\_example.ipynb [\#2487](https://github.com/SeldonIO/seldon-core/pull/2487) ([Syakyr](https://github.com/Syakyr))
+- resource usage at sdep level [\#2484](https://github.com/SeldonIO/seldon-core/pull/2484) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add mesa GL to Dockerfile for Alibi Detect Server [\#2482](https://github.com/SeldonIO/seldon-core/pull/2482) ([cliveseldon](https://github.com/cliveseldon))
+- print tfproxy exit value in ci\_build\_and\_push\_images script [\#2478](https://github.com/SeldonIO/seldon-core/pull/2478) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- revert change to retention period - leave default and let user override [\#2472](https://github.com/SeldonIO/seldon-core/pull/2472) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Stateful metrics server [\#2469](https://github.com/SeldonIO/seldon-core/pull/2469) ([axsaucedo](https://github.com/axsaucedo))
+- Add support to deploy SKLearn and XGBoost models with MLServer [\#2450](https://github.com/SeldonIO/seldon-core/pull/2450) ([adriangonz](https://github.com/adriangonz))
+
+
+[Changes][v1.4.0]
+
+
+
+## [v1.3.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.3.0) - 29 Sep 2020
+
+# Changelog
+
+## [v1.3.0](https://github.com/seldonio/seldon-core/tree/v1.3.0) (2020-09-29)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.2.3...v1.3.0)
+
+**Fixed bugs:**
+
+- Unreadable notebook - sklearn\_spacy\_text\_classifier\_example.ipynb [\#2486](https://github.com/SeldonIO/seldon-core/issues/2486)
+- Alibi Detect Server libGL.so failed to find in image [\#2481](https://github.com/SeldonIO/seldon-core/issues/2481)
+- Seldon Docs failing on readthedocs [\#2455](https://github.com/SeldonIO/seldon-core/issues/2455)
+- 2 notebook tests failing [\#2454](https://github.com/SeldonIO/seldon-core/issues/2454)
+- SSL removed when executor multiplexing reverted [\#2447](https://github.com/SeldonIO/seldon-core/issues/2447)
+- JX master pipeline is failing to build and push images [\#2444](https://github.com/SeldonIO/seldon-core/issues/2444)
+- CI builds sklearn server with wrong sklearn version -\> TestNotebooks.test\_explainer\_examples fails [\#2443](https://github.com/SeldonIO/seldon-core/issues/2443)
+- Install seldon-core-operator only working with old version [\#2438](https://github.com/SeldonIO/seldon-core/issues/2438)
+- Seldon Python Server memory leak in multithreading mode [\#2422](https://github.com/SeldonIO/seldon-core/issues/2422)
+- integration tests flakiness with TestPrepack.test\_text\_alibi\_explainer [\#2408](https://github.com/SeldonIO/seldon-core/issues/2408)
+- integration tests fails: cannot import name 'Turkey' [\#2403](https://github.com/SeldonIO/seldon-core/issues/2403)
+- \[doc\] link to \#Setup-Cluster is broken [\#2386](https://github.com/SeldonIO/seldon-core/issues/2386)
+- Unable to add more than one model in shadow deployment [\#2383](https://github.com/SeldonIO/seldon-core/issues/2383)
+- where is tfserving-mnist chart? [\#2372](https://github.com/SeldonIO/seldon-core/issues/2372)
+- semverComapre broken in some kubernetes flavours resulting in CRDs not being installed [\#2367](https://github.com/SeldonIO/seldon-core/issues/2367)
+- Revert multiplexing in the Executor [\#2364](https://github.com/SeldonIO/seldon-core/issues/2364)
+- Seldon pipeline crashes when there are a high volume of requests [\#2358](https://github.com/SeldonIO/seldon-core/issues/2358)
+- SeldonCore and random 'upstream connect error or disconnect/reset before headersupstream connect error or disconnect/reset before headers' errors on /predictions [\#2347](https://github.com/SeldonIO/seldon-core/issues/2347)
+- TerminationGracePeriodSeconds not respected in CRD [\#2332](https://github.com/SeldonIO/seldon-core/issues/2332)
+- remove trailing slash from graph metadata endpoint in docs [\#2322](https://github.com/SeldonIO/seldon-core/issues/2322)
+- Go version causes lint issues [\#2320](https://github.com/SeldonIO/seldon-core/issues/2320)
+- \[doc\] where is "seldon wrappers guideline"? [\#2307](https://github.com/SeldonIO/seldon-core/issues/2307)
+- Address flaky test test\_model\_template\_app\_rest\_metrics\_endpoint [\#2293](https://github.com/SeldonIO/seldon-core/issues/2293)
+- transform\_output\_raw not working . It gets refered to transform-input endpoint when analysing logs [\#2277](https://github.com/SeldonIO/seldon-core/issues/2277)
+- kfctl 0.5.1 is not available anymore [\#2258](https://github.com/SeldonIO/seldon-core/issues/2258)
+- Default user ID is always set to 8888 [\#2142](https://github.com/SeldonIO/seldon-core/issues/2142)
+- duplicate tensorflow\_model\_server command between entrypoint and args using prepackaged inference server [\#2133](https://github.com/SeldonIO/seldon-core/issues/2133)
+- Existing Webhook Secret Clashes if own certificate provided when doing upgrade [\#2101](https://github.com/SeldonIO/seldon-core/issues/2101)
+- can only join a child process [\#2094](https://github.com/SeldonIO/seldon-core/issues/2094)
+- Ensure all model servers have pinned requirements and the full requirements.txt is included in the docs [\#2065](https://github.com/SeldonIO/seldon-core/issues/2065)
+- curl response of the example sklearn\_iris\_jsondata is "Unknown data type returned as payload \(must be list or np array\):None" [\#2063](https://github.com/SeldonIO/seldon-core/issues/2063)
+- upgrades briefly go to a Failed state before Available but work the whole time [\#2044](https://github.com/SeldonIO/seldon-core/issues/2044)
+- SeldonDeployment with just a shadow is allowed past validation [\#2022](https://github.com/SeldonIO/seldon-core/issues/2022)
+- Seldon Core operator Crashes when deployment with empty predictor is passed [\#2020](https://github.com/SeldonIO/seldon-core/issues/2020)
+- OpenAPI Validation for PredictiveUnits limited to 5 levels [\#1864](https://github.com/SeldonIO/seldon-core/issues/1864)
+- seldon-core-operator CRD's incompatible with K8s v1.18 [\#1675](https://github.com/SeldonIO/seldon-core/issues/1675)
+
+**Closed issues:**
+
+- Add selectorpath for /scale subresource in SeldonDeployment CRD [\#2485](https://github.com/SeldonIO/seldon-core/issues/2485)
+- Dependabot can't resolve your Go dependency files [\#2464](https://github.com/SeldonIO/seldon-core/issues/2464)
+- Question about seldon-controller-manager setup on kubeadm [\#2452](https://github.com/SeldonIO/seldon-core/issues/2452)
+- Dependabot can't resolve your Go dependency files [\#2445](https://github.com/SeldonIO/seldon-core/issues/2445)
+- Add Concepts page to Seldon Core docs [\#2433](https://github.com/SeldonIO/seldon-core/issues/2433)
+- option to scrape prometheus less often [\#2401](https://github.com/SeldonIO/seldon-core/issues/2401)
+- Add Flag in the routing protocol to skip further processing and return [\#2400](https://github.com/SeldonIO/seldon-core/issues/2400)
+- Using ArgoCD to deploy Seldon-core-operator shows Webhooks as OutOfSync [\#2392](https://github.com/SeldonIO/seldon-core/issues/2392)
+- Add link to alibi notebooks to reference how the explainer models are built [\#2371](https://github.com/SeldonIO/seldon-core/issues/2371)
+- complex graph only expose endpoint for last metioned container and does not pass forward the output of the parent model [\#2370](https://github.com/SeldonIO/seldon-core/issues/2370)
+- Support YAML for SeldonDeployment definition in examples under seldon-core/helm-charts [\#2362](https://github.com/SeldonIO/seldon-core/issues/2362)
+- Add TreeShap Explainer example [\#2361](https://github.com/SeldonIO/seldon-core/issues/2361)
+- Update operator & executor k8s libraries to 1.18 \(or 1.19\) [\#2360](https://github.com/SeldonIO/seldon-core/issues/2360)
+- Inference Graph Example [\#2331](https://github.com/SeldonIO/seldon-core/issues/2331)
+- Setting and using SELDON\_ENVIRONMENT for Request Logging to use one ELK Cluster for multiple Environment [\#2328](https://github.com/SeldonIO/seldon-core/issues/2328)
+- Setting and using SELDON\_ENVIRONMENT for Request Logging to use one ELK Cluster for multiple Environment [\#2327](https://github.com/SeldonIO/seldon-core/issues/2327)
+- extend metadata schema to provide a field for custom entries [\#2312](https://github.com/SeldonIO/seldon-core/issues/2312)
+- Remove `pytest-runner` dependency from `setup.py` [\#2303](https://github.com/SeldonIO/seldon-core/issues/2303)
+- Remove depedency on deprecated pytest-runner [\#2302](https://github.com/SeldonIO/seldon-core/issues/2302)
+- Authentication support for ELK [\#2298](https://github.com/SeldonIO/seldon-core/issues/2298)
+- Add documentation and example for feedback reward leveraging custom metrics [\#2271](https://github.com/SeldonIO/seldon-core/issues/2271)
+- publish 1.2.2 RedHat operator [\#2244](https://github.com/SeldonIO/seldon-core/issues/2244)
+- MLFlow Model on MinIO Not Loading [\#2213](https://github.com/SeldonIO/seldon-core/issues/2213)
+- helm charts documentation [\#2203](https://github.com/SeldonIO/seldon-core/issues/2203)
+- Add / Extend docs on seldon-core-microservice [\#2202](https://github.com/SeldonIO/seldon-core/issues/2202)
+- Add "seldon.io" prefix path to all kubernetes labels associated with Seldon [\#2187](https://github.com/SeldonIO/seldon-core/issues/2187)
+- Change docker build context for executor to speed up build process [\#2186](https://github.com/SeldonIO/seldon-core/issues/2186)
+- Upgrade Alibi Integrations [\#2160](https://github.com/SeldonIO/seldon-core/issues/2160)
+- SeldonDeployment explainer description [\#2144](https://github.com/SeldonIO/seldon-core/issues/2144)
+- Remove storage.py from python module [\#2140](https://github.com/SeldonIO/seldon-core/issues/2140)
+- Refactor logging in Executor [\#2090](https://github.com/SeldonIO/seldon-core/issues/2090)
+- Make the helm chart generator part of the release script [\#2072](https://github.com/SeldonIO/seldon-core/issues/2072)
+- Upgrade k8s client API to 1.18+ [\#1949](https://github.com/SeldonIO/seldon-core/issues/1949)
+- silence flask logs from prometheus probing python wrapper [\#1907](https://github.com/SeldonIO/seldon-core/issues/1907)
+- Update SeldonDeployment Helm charts [\#1879](https://github.com/SeldonIO/seldon-core/issues/1879)
+- Grafana Dashboard not updating the deployments [\#1854](https://github.com/SeldonIO/seldon-core/issues/1854)
+- Hyphens in names cause the service orchestrator to start a grpc server [\#1850](https://github.com/SeldonIO/seldon-core/issues/1850)
+- SKLearn version support too low [\#1813](https://github.com/SeldonIO/seldon-core/issues/1813)
+- Seldon core wrapper support for Spring 2 [\#1796](https://github.com/SeldonIO/seldon-core/issues/1796)
+- Align GPU TF Python Image requirements and structure [\#1789](https://github.com/SeldonIO/seldon-core/issues/1789)
+- Investigate test\_model\_template\_app\_grpc\_metrics flakiness [\#1745](https://github.com/SeldonIO/seldon-core/issues/1745)
+- support runtime request tags / metrics in thread/process safe way [\#1735](https://github.com/SeldonIO/seldon-core/issues/1735)
+- Support NVIDIA/KFServing V2 Data Plane [\#1648](https://github.com/SeldonIO/seldon-core/issues/1648)
+- Multiplex Http and gRPC traffic [\#1628](https://github.com/SeldonIO/seldon-core/issues/1628)
+- Update Kubeflow Example to 1.0 [\#1509](https://github.com/SeldonIO/seldon-core/issues/1509)
+- azure-storage-blob package update to 12.1.0 [\#1371](https://github.com/SeldonIO/seldon-core/issues/1371)
+- DownwardAPI fails validation in CRD [\#926](https://github.com/SeldonIO/seldon-core/issues/926)
+- Update CRD to be Structural [\#641](https://github.com/SeldonIO/seldon-core/issues/641)
+
+**Merged pull requests:**
+
+- document wrapper CLI and environ flags [\#2470](https://github.com/SeldonIO/seldon-core/pull/2470) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Ensure updated pygments installed [\#2457](https://github.com/SeldonIO/seldon-core/pull/2457) ([cliveseldon](https://github.com/cliveseldon))
+- Removed broken links [\#2456](https://github.com/SeldonIO/seldon-core/pull/2456) ([axsaucedo](https://github.com/axsaucedo))
+- upgrade core-builder to 0.18 and fix last 2 failing notebook tests [\#2453](https://github.com/SeldonIO/seldon-core/pull/2453) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix image Jenkinx X build failures [\#2449](https://github.com/SeldonIO/seldon-core/pull/2449) ([axsaucedo](https://github.com/axsaucedo))
+- Add SSL listener back in after removal by multiplexing reversion [\#2448](https://github.com/SeldonIO/seldon-core/pull/2448) ([glindsell](https://github.com/glindsell))
+- add support for runtime metrics [\#2442](https://github.com/SeldonIO/seldon-core/pull/2442) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update seldon-single-model [\#2435](https://github.com/SeldonIO/seldon-core/pull/2435) ([cliveseldon](https://github.com/cliveseldon))
+- Add concepts page to docs [\#2434](https://github.com/SeldonIO/seldon-core/pull/2434) ([glindsell](https://github.com/glindsell))
+- Fix failing TestPrepack.test\_text\_alibi\_explainer test [\#2432](https://github.com/SeldonIO/seldon-core/pull/2432) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Upgrade alibi-detect component to use alibi-detect 0.4.2 [\#2431](https://github.com/SeldonIO/seldon-core/pull/2431) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump google.golang.org/grpc from 1.31.0 to 1.32.0 in /executor [\#2424](https://github.com/SeldonIO/seldon-core/pull/2424) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pytest from 5.4.2 to 6.0.2 in /python [\#2421](https://github.com/SeldonIO/seldon-core/pull/2421) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump grpcio-tools from 1.31.0 to 1.32.0 in /python [\#2420](https://github.com/SeldonIO/seldon-core/pull/2420) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump coverage from 5.2 to 5.3 in /python [\#2419](https://github.com/SeldonIO/seldon-core/pull/2419) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump okhttp from 4.8.1 to 4.9.0 in /engine [\#2418](https://github.com/SeldonIO/seldon-core/pull/2418) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump jaeger-client from 1.3.2 to 1.4.0 in /engine [\#2417](https://github.com/SeldonIO/seldon-core/pull/2417) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Add -2 as option for route abort [\#2415](https://github.com/SeldonIO/seldon-core/pull/2415) ([cliveseldon](https://github.com/cliveseldon))
+- Disallow 2 shadows [\#2414](https://github.com/SeldonIO/seldon-core/pull/2414) ([cliveseldon](https://github.com/cliveseldon))
+- Dettach duplicated signal handler from workers [\#2413](https://github.com/SeldonIO/seldon-core/pull/2413) ([adriangonz](https://github.com/adriangonz))
+- Update MLflow in MLFLOW\_SERVER [\#2412](https://github.com/SeldonIO/seldon-core/pull/2412) ([adriangonz](https://github.com/adriangonz))
+- improve integration tests stability [\#2409](https://github.com/SeldonIO/seldon-core/pull/2409) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- slower scrape [\#2402](https://github.com/SeldonIO/seldon-core/pull/2402) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Updated pinned versions of prepackaged servers [\#2399](https://github.com/SeldonIO/seldon-core/pull/2399) ([axsaucedo](https://github.com/axsaucedo))
+- Updated setup.py to work with security CI [\#2398](https://github.com/SeldonIO/seldon-core/pull/2398) ([axsaucedo](https://github.com/axsaucedo))
+- Update other helm charts [\#2396](https://github.com/SeldonIO/seldon-core/pull/2396) ([adriangonz](https://github.com/adriangonz))
+- Bump ojalgo from 48.2.0 to 48.3.0 in /engine [\#2387](https://github.com/SeldonIO/seldon-core/pull/2387) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update k8s libs to 1.18.6 [\#2385](https://github.com/SeldonIO/seldon-core/pull/2385) ([cliveseldon](https://github.com/cliveseldon))
+- Update docs concerning default image user id [\#2384](https://github.com/SeldonIO/seldon-core/pull/2384) ([cliveseldon](https://github.com/cliveseldon))
+- Add Alibi notebook references to explainers notebook [\#2381](https://github.com/SeldonIO/seldon-core/pull/2381) ([cliveseldon](https://github.com/cliveseldon))
+- Update k8s version check and add force override to helm [\#2380](https://github.com/SeldonIO/seldon-core/pull/2380) ([cliveseldon](https://github.com/cliveseldon))
+- Another Inreference -\> inference change [\#2377](https://github.com/SeldonIO/seldon-core/pull/2377) ([Marcus-Rosti](https://github.com/Marcus-Rosti))
+- allow extra custom field in model metadata [\#2376](https://github.com/SeldonIO/seldon-core/pull/2376) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Java JNI \(JPype\) Wrapper [\#2374](https://github.com/SeldonIO/seldon-core/pull/2374) ([adriangonz](https://github.com/adriangonz))
+- change to 1.3.0-dev [\#2373](https://github.com/SeldonIO/seldon-core/pull/2373) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Spelling update [\#2369](https://github.com/SeldonIO/seldon-core/pull/2369) ([Marcus-Rosti](https://github.com/Marcus-Rosti))
+- Fix failed status on conflict [\#2368](https://github.com/SeldonIO/seldon-core/pull/2368) ([cliveseldon](https://github.com/cliveseldon))
+- 2258 update kubeflow example to v1.0.0 of kubeflow \(and standalone kubeflow pipelines\) [\#2366](https://github.com/SeldonIO/seldon-core/pull/2366) ([axsaucedo](https://github.com/axsaucedo))
+- Revert multiplexing in the Executor [\#2365](https://github.com/SeldonIO/seldon-core/pull/2365) ([glindsell](https://github.com/glindsell))
+- Add TreeShap explainer [\#2363](https://github.com/SeldonIO/seldon-core/pull/2363) ([cliveseldon](https://github.com/cliveseldon))
+- Timeseries-algorithm-2 [\#2359](https://github.com/SeldonIO/seldon-core/pull/2359) ([narennadig](https://github.com/narennadig))
+- Bump github.com/google/uuid from 1.1.1 to 1.1.2 in /executor [\#2350](https://github.com/SeldonIO/seldon-core/pull/2350) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Allow terminationGracePeriodSeconds to be overridden [\#2345](https://github.com/SeldonIO/seldon-core/pull/2345) ([cliveseldon](https://github.com/cliveseldon))
+- Remove test dependencies from setup.py [\#2344](https://github.com/SeldonIO/seldon-core/pull/2344) ([adriangonz](https://github.com/adriangonz))
+- Remove tf binary from args when creating image for tfserving [\#2343](https://github.com/SeldonIO/seldon-core/pull/2343) ([cliveseldon](https://github.com/cliveseldon))
+- re-add ContentType to combiner payload [\#2341](https://github.com/SeldonIO/seldon-core/pull/2341) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- added time-series algorithm [\#2340](https://github.com/SeldonIO/seldon-core/pull/2340) ([narennadig](https://github.com/narennadig))
+- add FILTER\_METRICS\_ACCESS\_LOGS flag that allows to silence metrics ac… [\#2337](https://github.com/SeldonIO/seldon-core/pull/2337) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- use copy of operator instead of symlink to keep docker build context local [\#2335](https://github.com/SeldonIO/seldon-core/pull/2335) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update distributed-tracing.md [\#2323](https://github.com/SeldonIO/seldon-core/pull/2323) ([omerfsen](https://github.com/omerfsen))
+- correct file extention to match files [\#2308](https://github.com/SeldonIO/seldon-core/pull/2308) ([kinihun](https://github.com/kinihun))
+- Expose more boolean Flask Configurations via `FLASK\_` prefix [\#2280](https://github.com/SeldonIO/seldon-core/pull/2280) ([ericandrewmeadows](https://github.com/ericandrewmeadows))
+- Benchmarking grpc extension [\#2254](https://github.com/SeldonIO/seldon-core/pull/2254) ([axsaucedo](https://github.com/axsaucedo))
+- Added PIP\_TRUSTED\_HOST to pass trusted-host to s2i python wrapper [\#2247](https://github.com/SeldonIO/seldon-core/pull/2247) ([hemantkashniyal](https://github.com/hemantkashniyal))
+- Add release notes template [\#2190](https://github.com/SeldonIO/seldon-core/pull/2190) ([adriangonz](https://github.com/adriangonz))
+- assaf-java-s2i-update [\#2178](https://github.com/SeldonIO/seldon-core/pull/2178) ([amoldavsky](https://github.com/amoldavsky))
+- V2 Dataplane in Executor/Operator + Triton Server [\#2023](https://github.com/SeldonIO/seldon-core/pull/2023) ([cliveseldon](https://github.com/cliveseldon))
+- SSL with Executor [\#1987](https://github.com/SeldonIO/seldon-core/pull/1987) ([axsaucedo](https://github.com/axsaucedo))
+
+
+[Changes][v1.3.0]
+
+
+
+## [v1.2.3](https://github.com/SeldonIO/seldon-core/releases/tag/v1.2.3) - 14 Aug 2020
+
+# Changelog
+
+## [v1.2.3](https://github.com/seldonio/seldon-core/tree/v1.2.3) (2020-08-14)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.2.2...v1.2.3)
+
+**Fixed bugs:**
+
+- Shadow model gets no traffic [\#2225](https://github.com/SeldonIO/seldon-core/issues/2225)
+- kubeflow central dashboard we could not see Manage Contributor menu [\#2223](https://github.com/SeldonIO/seldon-core/issues/2223)
+- Tensorflow session hangs in gunicorn worker process [\#2220](https://github.com/SeldonIO/seldon-core/issues/2220)
+- seldon operator giving error [\#2184](https://github.com/SeldonIO/seldon-core/issues/2184)
+- Python licenses change depending on the environment [\#2124](https://github.com/SeldonIO/seldon-core/issues/2124)
+
+**Closed issues:**
+
+- Add source mirroring for MPL licensed dependencies [\#2263](https://github.com/SeldonIO/seldon-core/issues/2263)
+- Is it possible to pass init parameters to Predictor class through seldon-core-microservice [\#2250](https://github.com/SeldonIO/seldon-core/issues/2250)
+- How to solve race conditions between two requests. [\#2240](https://github.com/SeldonIO/seldon-core/issues/2240)
+- Update to use KFserving 0.4.0 artifacts [\#2236](https://github.com/SeldonIO/seldon-core/issues/2236)
+- Add CVE checks as part of CI [\#2183](https://github.com/SeldonIO/seldon-core/issues/2183)
+- GCP Marketplace Release Update [\#1804](https://github.com/SeldonIO/seldon-core/issues/1804)
+- Add kubernetes labels to help with selectors [\#1405](https://github.com/SeldonIO/seldon-core/issues/1405)
+
+**Merged pull requests:**
+
+- Added 1.2.3 dev tag to prepare for release [\#2274](https://github.com/SeldonIO/seldon-core/pull/2274) ([axsaucedo](https://github.com/axsaucedo))
+- Updated create script to perform 1.2.3 release [\#2269](https://github.com/SeldonIO/seldon-core/pull/2269) ([axsaucedo](https://github.com/axsaucedo))
+- Fix create release script bug [\#2267](https://github.com/SeldonIO/seldon-core/pull/2267) ([axsaucedo](https://github.com/axsaucedo))
+- try allowing unknown istio fields [\#2266](https://github.com/SeldonIO/seldon-core/pull/2266) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add kubeflow pipeline example to docs [\#2265](https://github.com/SeldonIO/seldon-core/pull/2265) ([cliveseldon](https://github.com/cliveseldon))
+- Add MPL source code to images [\#2264](https://github.com/SeldonIO/seldon-core/pull/2264) ([cliveseldon](https://github.com/cliveseldon))
+- Updated kfserving base image [\#2261](https://github.com/SeldonIO/seldon-core/pull/2261) ([axsaucedo](https://github.com/axsaucedo))
+- Bump okhttp from 4.8.0 to 4.8.1 in /engine [\#2257](https://github.com/SeldonIO/seldon-core/pull/2257) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Tls istio ingress example [\#2255](https://github.com/SeldonIO/seldon-core/pull/2255) ([omerfsen](https://github.com/omerfsen))
+- Jenkins x snyk security checks [\#2251](https://github.com/SeldonIO/seldon-core/pull/2251) ([axsaucedo](https://github.com/axsaucedo))
+- Batch benchmarking with Argo Workflows [\#2248](https://github.com/SeldonIO/seldon-core/pull/2248) ([axsaucedo](https://github.com/axsaucedo))
+- Update ambassador.md [\#2245](https://github.com/SeldonIO/seldon-core/pull/2245) ([omerfsen](https://github.com/omerfsen))
+- Update microservice.R [\#2239](https://github.com/SeldonIO/seldon-core/pull/2239) ([LueJian](https://github.com/LueJian))
+- Bump jaeger-client from 1.3.1 to 1.3.2 in /engine [\#2233](https://github.com/SeldonIO/seldon-core/pull/2233) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pandas from 1.0.1 to 1.1.0 in /python [\#2232](https://github.com/SeldonIO/seldon-core/pull/2232) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pip-licenses from 2.2.1 to 2.3.0 in /python [\#2228](https://github.com/SeldonIO/seldon-core/pull/2228) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Openshift Operator 1.2.2 [\#2226](https://github.com/SeldonIO/seldon-core/pull/2226) ([cliveseldon](https://github.com/cliveseldon))
+- Update version to 1.3.0-dev [\#2219](https://github.com/SeldonIO/seldon-core/pull/2219) ([cliveseldon](https://github.com/cliveseldon))
+- Add license\_files to setup.py [\#2210](https://github.com/SeldonIO/seldon-core/pull/2210) ([adriangonz](https://github.com/adriangonz))
+- Release Pipeline [\#2191](https://github.com/SeldonIO/seldon-core/pull/2191) ([axsaucedo](https://github.com/axsaucedo))
+- Add labels to deployments and improve label coverage of resources [\#2130](https://github.com/SeldonIO/seldon-core/pull/2130) ([glindsell](https://github.com/glindsell))
+
+
+[Changes][v1.2.3]
+
+
+
+## [v1.2.2](https://github.com/SeldonIO/seldon-core/releases/tag/v1.2.2) - 30 Jul 2020
+
+# Changelog
+
+## [v1.2.2](https://github.com/seldonio/seldon-core/tree/v1.2.2) (2020-07-28)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.2.1...v1.2.2)
+
+**Fixed bugs:**
+
+- Alibi Detect Drift does not use batch [\#2194](https://github.com/SeldonIO/seldon-core/issues/2194)
+- Explainers are hardwired to seldon protocol [\#2185](https://github.com/SeldonIO/seldon-core/issues/2185)
+- Address build stability [\#2175](https://github.com/SeldonIO/seldon-core/issues/2175)
+- Seldon-batch-processor Issue [\#2173](https://github.com/SeldonIO/seldon-core/issues/2173)
+- Jenkins X Pipelines are not marked as finished [\#2148](https://github.com/SeldonIO/seldon-core/issues/2148)
+- Robustness of operator\_upgrade notebook [\#2119](https://github.com/SeldonIO/seldon-core/issues/2119)
+- Unable to view feedback reward on Grafana dashboard [\#2115](https://github.com/SeldonIO/seldon-core/issues/2115)
+- MLFlowServer predict function ignores feature\_names parameter [\#2113](https://github.com/SeldonIO/seldon-core/issues/2113)
+- Request logger drops incoming requests for traffic coming from a single model [\#2109](https://github.com/SeldonIO/seldon-core/issues/2109)
+- deep\_mnist example: failed calling webhook "v1alpha2.mseldondeployment.kb.io" [\#2107](https://github.com/SeldonIO/seldon-core/issues/2107)
+- Duplicated Mutating Webhooks can Coexist without Notice [\#2103](https://github.com/SeldonIO/seldon-core/issues/2103)
+- READWRITEMANY does not work on GCP [\#2102](https://github.com/SeldonIO/seldon-core/issues/2102)
+- There is no `spam.csv` in dir examples/input\_tranformer, the example input\_tranformer doesn't work [\#2087](https://github.com/SeldonIO/seldon-core/issues/2087)
+- seldon-controller-manager crashing [\#2066](https://github.com/SeldonIO/seldon-core/issues/2066)
+- No module named 'sklearn.linear\_model.\_logistic' when using the docker image seldonio/sklearnserver\_rest:1.2.0 due to `scikit-learn==0.20.3` [\#2059](https://github.com/SeldonIO/seldon-core/issues/2059)
+- python: Relink error in GPU image [\#2048](https://github.com/SeldonIO/seldon-core/issues/2048)
+- Seldon Azure Deep Mnist tutorial CrashLoopBackOff while creating pods [\#2043](https://github.com/SeldonIO/seldon-core/issues/2043)
+- Address flakiness of batch processing integration test [\#1985](https://github.com/SeldonIO/seldon-core/issues/1985)
+- "Empty Json Parameter in data" for model components in Spam Classifier Example [\#1938](https://github.com/SeldonIO/seldon-core/issues/1938)
+- ambassador helm chart deprecation warnings [\#1928](https://github.com/SeldonIO/seldon-core/issues/1928)
+- Tags created by components inside combiner don't propagate [\#1927](https://github.com/SeldonIO/seldon-core/issues/1927)
+- Duplicate ports defined in seldon-container-engine container [\#1799](https://github.com/SeldonIO/seldon-core/issues/1799)
+- idletimeout between envoy and executor [\#1797](https://github.com/SeldonIO/seldon-core/issues/1797)
+- Helm Chart - Seldon Core Analytics - extraEnv and VirtualService not working anymore. [\#1791](https://github.com/SeldonIO/seldon-core/issues/1791)
+
+**Closed issues:**
+
+- CNCF-Runtime discussion/presentation\(?\) [\#2181](https://github.com/SeldonIO/seldon-core/issues/2181)
+- Make Azure dependency optional [\#2168](https://github.com/SeldonIO/seldon-core/issues/2168)
+- How to pass a contract.json as curl request. I keep getting bad data when i send a contract.json file as curl. [\#2151](https://github.com/SeldonIO/seldon-core/issues/2151)
+- Serving local \(host\) model with the prepackaged TensorFlow server [\#2146](https://github.com/SeldonIO/seldon-core/issues/2146)
+- Update version of Jaeger in Python wrapper [\#2143](https://github.com/SeldonIO/seldon-core/issues/2143)
+- Add to docs clarification on Routing not available in executor [\#2139](https://github.com/SeldonIO/seldon-core/issues/2139)
+- Upgrade k8s.io dependencies in the Executor [\#2134](https://github.com/SeldonIO/seldon-core/issues/2134)
+- Upgrade knative.dev deps in Operator [\#2128](https://github.com/SeldonIO/seldon-core/issues/2128)
+- bump zap from v1.10.0 to v1.15.0 [\#2127](https://github.com/SeldonIO/seldon-core/issues/2127)
+- upgrade istio.io dependencies in operator [\#2126](https://github.com/SeldonIO/seldon-core/issues/2126)
+- make mock-classifier a RELATED\_IMAGE for redhat operator [\#2118](https://github.com/SeldonIO/seldon-core/issues/2118)
+- Upgrade controller-runtime in Operator [\#2116](https://github.com/SeldonIO/seldon-core/issues/2116)
+- Upgrade Operator dependencies that can be bumped without problems [\#2098](https://github.com/SeldonIO/seldon-core/issues/2098)
+- Remove Executor's dependency on client-go [\#2092](https://github.com/SeldonIO/seldon-core/issues/2092)
+- Upgrade Operator version in Executor deps [\#2091](https://github.com/SeldonIO/seldon-core/issues/2091)
+- Upgrade Executor dependencies that can be bumped without problems [\#2089](https://github.com/SeldonIO/seldon-core/issues/2089)
+- Update dependencies of Operator and Executor [\#2088](https://github.com/SeldonIO/seldon-core/issues/2088)
+- request logger retries [\#2079](https://github.com/SeldonIO/seldon-core/issues/2079)
+- allow loading wrapped model from installed package [\#2068](https://github.com/SeldonIO/seldon-core/issues/2068)
+- Is there a way to specify URL of swagger-ui static resources instead of https://cdnsjs.cloudflare.com in a intranet k8s cluster [\#2067](https://github.com/SeldonIO/seldon-core/issues/2067)
+- Determine 1st and 2nd Dependencies for Go operator and executor [\#2061](https://github.com/SeldonIO/seldon-core/issues/2061)
+- support multiple named tensors in seldon protocol and seldon-core client [\#2049](https://github.com/SeldonIO/seldon-core/issues/2049)
+- Drop podinfo volume name backwards compatibility transition in 1.3 release [\#2024](https://github.com/SeldonIO/seldon-core/issues/2024)
+- Return pointer instead of value in SeldonApiClient methods [\#2014](https://github.com/SeldonIO/seldon-core/issues/2014)
+- Enable production mode in Python server by default [\#1993](https://github.com/SeldonIO/seldon-core/issues/1993)
+- update UPGRADING.md with new name of rolling image [\#1989](https://github.com/SeldonIO/seldon-core/issues/1989)
+- re-define noEngine annotation [\#1976](https://github.com/SeldonIO/seldon-core/issues/1976)
+- Ability to return all outputs from tensorflow serving grpc [\#1965](https://github.com/SeldonIO/seldon-core/issues/1965)
+- Allow to specify model version for tensorflow serving [\#1964](https://github.com/SeldonIO/seldon-core/issues/1964)
+- Automate license check in CI linting pipeline [\#1932](https://github.com/SeldonIO/seldon-core/issues/1932)
+- pass ServiceAccountName in predictor to prepackaged servers initContainer [\#1865](https://github.com/SeldonIO/seldon-core/issues/1865)
+- Using "required" field for key values in helm chart [\#1784](https://github.com/SeldonIO/seldon-core/issues/1784)
+- Update Ambassador Circuit Breaker Example to have parallel requests [\#1753](https://github.com/SeldonIO/seldon-core/issues/1753)
+- Enable production settings in loggers [\#1737](https://github.com/SeldonIO/seldon-core/issues/1737)
+- Create a benchmarking framework [\#1731](https://github.com/SeldonIO/seldon-core/issues/1731)
+- GRPC Auth problem with GCP IAP [\#1719](https://github.com/SeldonIO/seldon-core/issues/1719)
+- Serialization of pre-processing pipeline for CI/CD [\#1713](https://github.com/SeldonIO/seldon-core/issues/1713)
+- Add and example Notebook for Istio Setup and Integrations [\#1712](https://github.com/SeldonIO/seldon-core/issues/1712)
+- Seldon Build Permission Denied [\#1689](https://github.com/SeldonIO/seldon-core/issues/1689)
+- Autogenerate an OpenAPI spec and SDK [\#1682](https://github.com/SeldonIO/seldon-core/issues/1682)
+- GPU deadlock for pytorch models using the python wrapper [\#1662](https://github.com/SeldonIO/seldon-core/issues/1662)
+- Convert Request Logger Example Scripts into Helm Chart [\#1511](https://github.com/SeldonIO/seldon-core/issues/1511)
+- Flask Theading bug, when using with sockeye and mxnet [\#1498](https://github.com/SeldonIO/seldon-core/issues/1498)
+- Improve release notes [\#1471](https://github.com/SeldonIO/seldon-core/issues/1471)
+- Migrate tutorials to use kind instead of Minikube [\#1256](https://github.com/SeldonIO/seldon-core/issues/1256)
+
+**Merged pull requests:**
+
+- Release 1.2.2 [\#2208](https://github.com/SeldonIO/seldon-core/pull/2208) ([axsaucedo](https://github.com/axsaucedo))
+- Fix Helm chart docs [\#2207](https://github.com/SeldonIO/seldon-core/pull/2207) ([adriangonz](https://github.com/adriangonz))
+- Upgrading 1.2.2 [\#2206](https://github.com/SeldonIO/seldon-core/pull/2206) ([axsaucedo](https://github.com/axsaucedo))
+- Change Outlier call depending on type [\#2205](https://github.com/SeldonIO/seldon-core/pull/2205) ([cliveseldon](https://github.com/cliveseldon))
+- Update licenses for Python package [\#2196](https://github.com/SeldonIO/seldon-core/pull/2196) ([adriangonz](https://github.com/adriangonz))
+- Fix drift predict [\#2195](https://github.com/SeldonIO/seldon-core/pull/2195) ([cliveseldon](https://github.com/cliveseldon))
+- add 2 args to seldon-core-microservice [\#2193](https://github.com/SeldonIO/seldon-core/pull/2193) ([ntorba](https://github.com/ntorba))
+- Allow tensorflow protocol explanations [\#2188](https://github.com/SeldonIO/seldon-core/pull/2188) ([cliveseldon](https://github.com/cliveseldon))
+- Revert "Jenkins X add comment when pipeline finishes " [\#2177](https://github.com/SeldonIO/seldon-core/pull/2177) ([axsaucedo](https://github.com/axsaucedo))
+- Routing disclaimer in executor [\#2172](https://github.com/SeldonIO/seldon-core/pull/2172) ([cliveseldon](https://github.com/cliveseldon))
+- Add mock classifier to related images for RedHat [\#2171](https://github.com/SeldonIO/seldon-core/pull/2171) ([cliveseldon](https://github.com/cliveseldon))
+- Make Azure dependency optional [\#2170](https://github.com/SeldonIO/seldon-core/pull/2170) ([adriangonz](https://github.com/adriangonz))
+- upgrade k8s.io and jaeger-client-go libraries [\#2169](https://github.com/SeldonIO/seldon-core/pull/2169) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- WIP: update images reference doc for 1.2.2 release [\#2167](https://github.com/SeldonIO/seldon-core/pull/2167) ([gsunner](https://github.com/gsunner))
+- Update tracing dependencies [\#2166](https://github.com/SeldonIO/seldon-core/pull/2166) ([adriangonz](https://github.com/adriangonz))
+- Bump commons-lang3 from 3.10 to 3.11 in /engine [\#2161](https://github.com/SeldonIO/seldon-core/pull/2161) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Java Wrapper update [\#2159](https://github.com/SeldonIO/seldon-core/pull/2159) ([amoldavsky](https://github.com/amoldavsky))
+- Add error handler for R [\#2153](https://github.com/SeldonIO/seldon-core/pull/2153) ([johnny-butter](https://github.com/johnny-butter))
+- include reward in metrics on wrapper [\#2150](https://github.com/SeldonIO/seldon-core/pull/2150) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Jenkins X add comment when pipeline finishes [\#2149](https://github.com/SeldonIO/seldon-core/pull/2149) ([axsaucedo](https://github.com/axsaucedo))
+- Add missing license to executor [\#2147](https://github.com/SeldonIO/seldon-core/pull/2147) ([adriangonz](https://github.com/adriangonz))
+- fix issues with test\_upgrade notebook [\#2145](https://github.com/SeldonIO/seldon-core/pull/2145) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add operator to dependabot [\#2137](https://github.com/SeldonIO/seldon-core/pull/2137) ([adriangonz](https://github.com/adriangonz))
+- Fix Go license linting [\#2136](https://github.com/SeldonIO/seldon-core/pull/2136) ([adriangonz](https://github.com/adriangonz))
+- Mlflowserver use mlflow predict signature [\#2135](https://github.com/SeldonIO/seldon-core/pull/2135) ([meoril](https://github.com/meoril))
+- fix\(port\): Update grpc executor target port [\#2131](https://github.com/SeldonIO/seldon-core/pull/2131) ([groszewn](https://github.com/groszewn))
+- Upgrade go dependencies: zap istio knative [\#2129](https://github.com/SeldonIO/seldon-core/pull/2129) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update python licenses [\#2123](https://github.com/SeldonIO/seldon-core/pull/2123) ([cliveseldon](https://github.com/cliveseldon))
+- update version of operator in executor deps [\#2121](https://github.com/SeldonIO/seldon-core/pull/2121) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- reduce number of times connecting to elastic [\#2120](https://github.com/SeldonIO/seldon-core/pull/2120) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- operator: controller-runtime upgrade to v0.5.8 [\#2117](https://github.com/SeldonIO/seldon-core/pull/2117) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump okhttp from 4.5.0 to 4.8.0 in /engine [\#2112](https://github.com/SeldonIO/seldon-core/pull/2112) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump coverage from 5.1 to 5.2 in /python [\#2111](https://github.com/SeldonIO/seldon-core/pull/2111) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Remove executor's dependency on k8s.io/client-go [\#2106](https://github.com/SeldonIO/seldon-core/pull/2106) ([adriangonz](https://github.com/adriangonz))
+- Added fix to CI return value script [\#2104](https://github.com/SeldonIO/seldon-core/pull/2104) ([axsaucedo](https://github.com/axsaucedo))
+- run python fmt on master [\#2100](https://github.com/SeldonIO/seldon-core/pull/2100) ([cliveseldon](https://github.com/cliveseldon))
+- Executor/deps update - straightforward dependencies update [\#2099](https://github.com/SeldonIO/seldon-core/pull/2099) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Removed spam examples [\#2096](https://github.com/SeldonIO/seldon-core/pull/2096) ([axsaucedo](https://github.com/axsaucedo))
+- Operator/deps update - straightforward dependencies update [\#2093](https://github.com/SeldonIO/seldon-core/pull/2093) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add PR template with release notes [\#2086](https://github.com/SeldonIO/seldon-core/pull/2086) ([adriangonz](https://github.com/adriangonz))
+- Add working group calendar to docs [\#2084](https://github.com/SeldonIO/seldon-core/pull/2084) ([cliveseldon](https://github.com/cliveseldon))
+- Move engine tests [\#2082](https://github.com/SeldonIO/seldon-core/pull/2082) ([adriangonz](https://github.com/adriangonz))
+- Bump pillow from 7.1.1 to 7.2.0 in /python [\#2077](https://github.com/SeldonIO/seldon-core/pull/2077) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump jaeger-client from 1.0.0 to 1.3.1 in /engine [\#2076](https://github.com/SeldonIO/seldon-core/pull/2076) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Initial benchmarking and load tests [\#2075](https://github.com/SeldonIO/seldon-core/pull/2075) ([cliveseldon](https://github.com/cliveseldon))
+- Redhat 1.2.1 [\#2074](https://github.com/SeldonIO/seldon-core/pull/2074) ([cliveseldon](https://github.com/cliveseldon))
+- Update to version 1.2.2-dev [\#2073](https://github.com/SeldonIO/seldon-core/pull/2073) ([cliveseldon](https://github.com/cliveseldon))
+- remove incubating label regarding metadata on external API doc page [\#2071](https://github.com/SeldonIO/seldon-core/pull/2071) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Address ambassador deprecation warnings [\#2069](https://github.com/SeldonIO/seldon-core/pull/2069) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- add seldon-core components overview doc page [\#2064](https://github.com/SeldonIO/seldon-core/pull/2064) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- extend seldon-single-model chart [\#2054](https://github.com/SeldonIO/seldon-core/pull/2054) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Use production server by default [\#2047](https://github.com/SeldonIO/seldon-core/pull/2047) ([adriangonz](https://github.com/adriangonz))
+- S2i wrapper/gpu local build [\#2045](https://github.com/SeldonIO/seldon-core/pull/2045) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump github.com/uber/jaeger-client-go from 2.21.1+incompatible to 2.24.0+incompatible in /executor [\#2042](https://github.com/SeldonIO/seldon-core/pull/2042) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 in /executor [\#2041](https://github.com/SeldonIO/seldon-core/pull/2041) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump github.com/onsi/gomega from 1.8.1 to 1.10.1 in /executor [\#2039](https://github.com/SeldonIO/seldon-core/pull/2039) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump github.com/prometheus/client\_golang from 1.3.0 to 1.7.1 in /executor [\#2032](https://github.com/SeldonIO/seldon-core/pull/2032) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pip-licenses from 2.2.0 to 2.2.1 in /python [\#2031](https://github.com/SeldonIO/seldon-core/pull/2031) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump grpcio-tools from 1.27.2 to 1.30.0 in /python [\#2030](https://github.com/SeldonIO/seldon-core/pull/2030) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update mypy requirement from \<0.781 to \<0.783 in /python [\#2029](https://github.com/SeldonIO/seldon-core/pull/2029) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump ojalgo from 48.1.0 to 48.2.0 in /engine [\#2028](https://github.com/SeldonIO/seldon-core/pull/2028) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump micrometer.version from 1.3.0 to 1.5.2 in /engine [\#2027](https://github.com/SeldonIO/seldon-core/pull/2027) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump jackson.version from 2.10.0 to 2.11.1 in /engine [\#2026](https://github.com/SeldonIO/seldon-core/pull/2026) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update Ambassador ingress instructions to include edgectl install [\#2007](https://github.com/SeldonIO/seldon-core/pull/2007) ([oparryevans](https://github.com/oparryevans))
+- SeldonMetadata and GRPC support [\#2005](https://github.com/SeldonIO/seldon-core/pull/2005) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Lint licenses [\#1995](https://github.com/SeldonIO/seldon-core/pull/1995) ([adriangonz](https://github.com/adriangonz))
+- Enable production settings in loggers [\#1980](https://github.com/SeldonIO/seldon-core/pull/1980) ([adriangonz](https://github.com/adriangonz))
+- add missing conda deps in tensorflow gpu image [\#1972](https://github.com/SeldonIO/seldon-core/pull/1972) ([CatTail](https://github.com/CatTail))
+- fixed noEngine [\#1970](https://github.com/SeldonIO/seldon-core/pull/1970) ([chengchengpei](https://github.com/chengchengpei))
+- attach serviceAccountName to prepackaged deployment spec [\#1866](https://github.com/SeldonIO/seldon-core/pull/1866) ([enissay14](https://github.com/enissay14))
+- Set idletimeout [\#1800](https://github.com/SeldonIO/seldon-core/pull/1800) ([andrewshaoyu](https://github.com/andrewshaoyu))
+
+
+[Changes][v1.2.2]
+
+
+
+## [v1.2.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.2.1) - 01 Jul 2020
+
+# Changelog
+
+
+## [v1.2.1](https://github.com/seldonio/seldon-core/tree/v1.2.1) (2020-07-01)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.2.0...v1.2.1)
+
+**Fixed bugs:**
+
+- upgrading from 1.1 to 1.2 with existing sdep leads to volume mount error [\#2017](https://github.com/SeldonIO/seldon-core/issues/2017)
+- Seldon Operator automatic update from v1.1.0 to v1.2.0 causes seldondeployment failures [\#2009](https://github.com/SeldonIO/seldon-core/issues/2009)
+- Changing predictor.replicas causes all deployment pods to be replaced [\#2008](https://github.com/SeldonIO/seldon-core/issues/2008)
+- requests per second from seldon\_api\_executor\_cient\_requests\_count not right? [\#2004](https://github.com/SeldonIO/seldon-core/issues/2004)
+- Cannot connect to metrics port 6000 for custom models wrapped with s2i. [\#1988](https://github.com/SeldonIO/seldon-core/issues/1988)
+- Helm switch rbac.create=false does not fully work [\#1982](https://github.com/SeldonIO/seldon-core/issues/1982)
+- serviceAccount.name not used in Helm chart templates [\#1977](https://github.com/SeldonIO/seldon-core/issues/1977)
+- executor service not targeting to executor [\#1975](https://github.com/SeldonIO/seldon-core/issues/1975)
+- Issue in "seldon-container-engine" with MLFLOW\_SERVER [\#1922](https://github.com/SeldonIO/seldon-core/issues/1922)
+- Permission denied while reading ./openapi/seldon.json in seldon-container-engine [\#1855](https://github.com/SeldonIO/seldon-core/issues/1855)
+- Allow custom pip dependencies in MLFLOW\_SERVER [\#1547](https://github.com/SeldonIO/seldon-core/issues/1547)
+- Stop integration tests if setup fails [\#1417](https://github.com/SeldonIO/seldon-core/issues/1417)
+
+**Closed issues:**
+
+- upgrading notes for 1.2.1 [\#2051](https://github.com/SeldonIO/seldon-core/issues/2051)
+- Dependabot can't resolve your Go dependency files [\#2003](https://github.com/SeldonIO/seldon-core/issues/2003)
+- Set executor port from model deployment file [\#1974](https://github.com/SeldonIO/seldon-core/issues/1974)
+- Readiness probe failed seldon-container-engine while deploying the pipeline [\#1963](https://github.com/SeldonIO/seldon-core/issues/1963)
+- Potential dependency conflicts between seldon-core and opentracing [\#1867](https://github.com/SeldonIO/seldon-core/issues/1867)
+- Add documentation that explains how to configure the named port [\#1853](https://github.com/SeldonIO/seldon-core/issues/1853)
+- Built-in header based routing [\#1739](https://github.com/SeldonIO/seldon-core/issues/1739)
+- Update release process [\#1732](https://github.com/SeldonIO/seldon-core/issues/1732)
+- Include prepackeged servers in GA and version using version.txt [\#1726](https://github.com/SeldonIO/seldon-core/issues/1726)
+- Can't create resources under v1.18 [\#1678](https://github.com/SeldonIO/seldon-core/issues/1678)
+- Use zap.New instead of zap.Logger [\#1657](https://github.com/SeldonIO/seldon-core/issues/1657)
+- Wrong package for YAML [\#1609](https://github.com/SeldonIO/seldon-core/issues/1609)
+- Batch Processing Exploration for Seldon Core [\#1413](https://github.com/SeldonIO/seldon-core/issues/1413)
+- Offline Batch Integration [\#1391](https://github.com/SeldonIO/seldon-core/issues/1391)
+- Add Health and Status endpoints to grpc spec [\#1387](https://github.com/SeldonIO/seldon-core/issues/1387)
+
+**Merged pull requests:**
+
+- upgrading to 1.2.1 [\#2052](https://github.com/SeldonIO/seldon-core/pull/2052) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- fix notebook server\_examples to not fail on MLFlow server [\#2050](https://github.com/SeldonIO/seldon-core/pull/2050) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- fix typo in upgrading [\#2035](https://github.com/SeldonIO/seldon-core/pull/2035) ([cliveseldon](https://github.com/cliveseldon))
+- Fix version of sphinx [\#2025](https://github.com/SeldonIO/seldon-core/pull/2025) ([cliveseldon](https://github.com/cliveseldon))
+- Example and script to patch the bug when upgrading 1.1 to 1.2 [\#2021](https://github.com/SeldonIO/seldon-core/pull/2021) ([axsaucedo](https://github.com/axsaucedo))
+- volume mount names upgrade fix [\#2019](https://github.com/SeldonIO/seldon-core/pull/2019) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Allow predictor replica changes to not cause rolling update [\#2016](https://github.com/SeldonIO/seldon-core/pull/2016) ([cliveseldon](https://github.com/cliveseldon))
+- Fix for ensuring old clusterwide webhook is deleted [\#2013](https://github.com/SeldonIO/seldon-core/pull/2013) ([cliveseldon](https://github.com/cliveseldon))
+- Use correct YAML package [\#2010](https://github.com/SeldonIO/seldon-core/pull/2010) ([adriangonz](https://github.com/adriangonz))
+- Update requirements.txt and readme file for KerasSpamClassifier [\#2002](https://github.com/SeldonIO/seldon-core/pull/2002) ([maorlipchuk](https://github.com/maorlipchuk))
+- Bump github.com/prometheus/common from 0.7.0 to 0.10.0 in /executor [\#2001](https://github.com/SeldonIO/seldon-core/pull/2001) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump google.golang.org/grpc from 1.28.0 to 1.29.1 in /executor [\#2000](https://github.com/SeldonIO/seldon-core/pull/2000) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump github.com/golang/protobuf from 1.3.5 to 1.4.2 in /executor [\#1998](https://github.com/SeldonIO/seldon-core/pull/1998) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump github.com/gorilla/mux from 1.7.3 to 1.7.4 in /executor [\#1997](https://github.com/SeldonIO/seldon-core/pull/1997) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Redhat v1.2.0 [\#1996](https://github.com/SeldonIO/seldon-core/pull/1996) ([cliveseldon](https://github.com/cliveseldon))
+- Add executor to dependabot [\#1984](https://github.com/SeldonIO/seldon-core/pull/1984) ([adriangonz](https://github.com/adriangonz))
+- Update seldon-core-operator Helm to fix bugs [\#1983](https://github.com/SeldonIO/seldon-core/pull/1983) ([cliveseldon](https://github.com/cliveseldon))
+- Switch on executor enabled for service ports [\#1981](https://github.com/SeldonIO/seldon-core/pull/1981) ([glindsell](https://github.com/glindsell))
+- Updating master for v1.2.1-dev [\#1979](https://github.com/SeldonIO/seldon-core/pull/1979) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Updating master for v1.2.1-rc [\#1978](https://github.com/SeldonIO/seldon-core/pull/1978) ([axsaucedo](https://github.com/axsaucedo))
+- Added CORS headers to enable Front-End inputs on Go Engine [\#1952](https://github.com/SeldonIO/seldon-core/pull/1952) ([ericandrewmeadows](https://github.com/ericandrewmeadows))
+- Support custom pip environment in MLFLOW\_SERVER [\#1929](https://github.com/SeldonIO/seldon-core/pull/1929) ([ttapjinda](https://github.com/ttapjinda))
+
+
+[Changes][v1.2.1]
+
+
+
+## [v1.2.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.2.0) - 18 Jun 2020
+
+# Changelog
+
+## [v1.2.0](https://github.com/seldonio/seldon-core/tree/v1.2.0) (2020-06-18)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.1.0...v1.2.0)
+
+**Implemented enhancements:**
+
+- request logger to support bearer token auth [\#1773](https://github.com/SeldonIO/seldon-core/issues/1773)
+- Feature request: Provide a metadata endpoint with custom metadata [\#319](https://github.com/SeldonIO/seldon-core/issues/319)
+
+**Fixed bugs:**
+
+- Golang Service Orchestrator \(Executor\) fails to replace variables since no longer runs root [\#1955](https://github.com/SeldonIO/seldon-core/issues/1955)
+- seldon-single-model chart doesn't install [\#1942](https://github.com/SeldonIO/seldon-core/issues/1942)
+- How to access rolling accuracy metrics? [\#1926](https://github.com/SeldonIO/seldon-core/issues/1926)
+- curl command on seldon core overview doesn't work [\#1918](https://github.com/SeldonIO/seldon-core/issues/1918)
+- can't change analytics nodeExporter port [\#1916](https://github.com/SeldonIO/seldon-core/issues/1916)
+- Empty json parameter in data [\#1912](https://github.com/SeldonIO/seldon-core/issues/1912)
+- Multipart form data not passed between chain of seldon components [\#1899](https://github.com/SeldonIO/seldon-core/issues/1899)
+- Integration tests \(test\_mlflow\) failing on Master [\#1896](https://github.com/SeldonIO/seldon-core/issues/1896)
+- Metrics notebook broken \(gRPC\) [\#1886](https://github.com/SeldonIO/seldon-core/issues/1886)
+- Helm chart seldon-manager role missing permissions for createResources: true [\#1885](https://github.com/SeldonIO/seldon-core/issues/1885)
+- Document Mistake about Endpoint Testing [\#1881](https://github.com/SeldonIO/seldon-core/issues/1881)
+- Routers not working with new Executor [\#1876](https://github.com/SeldonIO/seldon-core/issues/1876)
+- Notebook test failures [\#1869](https://github.com/SeldonIO/seldon-core/issues/1869)
+- Grafana Dashboard [\#1840](https://github.com/SeldonIO/seldon-core/issues/1840)
+- Publish new core builder image [\#1828](https://github.com/SeldonIO/seldon-core/issues/1828)
+- Feedback method is not handled in the engine's REST API [\#1825](https://github.com/SeldonIO/seldon-core/issues/1825)
+- Cant use the endpoint of kubernetes service created by the model [\#1824](https://github.com/SeldonIO/seldon-core/issues/1824)
+- Logs don't have information of which predictor it comes from [\#1817](https://github.com/SeldonIO/seldon-core/issues/1817)
+- Download specific Helm version in core-builder/Dockerfile [\#1811](https://github.com/SeldonIO/seldon-core/issues/1811)
+- Fluentd Helm Chart update breaks logs integration [\#1780](https://github.com/SeldonIO/seldon-core/issues/1780)
+- Seldon Core v1.1.0 helm chart has outdated seldon-config configmap [\#1779](https://github.com/SeldonIO/seldon-core/issues/1779)
+- Metrics executor local sample REST request fails [\#1770](https://github.com/SeldonIO/seldon-core/issues/1770)
+- Add XSS patches to executor [\#1766](https://github.com/SeldonIO/seldon-core/issues/1766)
+- Executor sample gRPC local loggger fails [\#1763](https://github.com/SeldonIO/seldon-core/issues/1763)
+- model server pods not created if controllerId set? [\#1758](https://github.com/SeldonIO/seldon-core/issues/1758)
+- Can't have a colon in the registry name with the Seldon-Core Python Package [\#1756](https://github.com/SeldonIO/seldon-core/issues/1756)
+- failed calling webhook [\#1742](https://github.com/SeldonIO/seldon-core/issues/1742)
+- Executor container not exposing core metrics [\#1729](https://github.com/SeldonIO/seldon-core/issues/1729)
+- problem configuring S3 access from MLFlow server [\#1727](https://github.com/SeldonIO/seldon-core/issues/1727)
+- seldon.io/rest-read-timeout for ambassador doesn't take effect in executor 1.1.0? [\#1724](https://github.com/SeldonIO/seldon-core/issues/1724)
+- createResources flag in helm chart looks backwards [\#1723](https://github.com/SeldonIO/seldon-core/issues/1723)
+- Incorrect seldon-core package version in 1.1.0 builder image [\#1718](https://github.com/SeldonIO/seldon-core/issues/1718)
+- custom tags in release 1.1.0 not working [\#1715](https://github.com/SeldonIO/seldon-core/issues/1715)
+- Scrape related annotations only in deployment and not in services caused prometheus to ignore seldon analytics metric endpoints [\#1705](https://github.com/SeldonIO/seldon-core/issues/1705)
+- Update swagger to work in executor and be up to date [\#1703](https://github.com/SeldonIO/seldon-core/issues/1703)
+- web client metrics not working [\#1685](https://github.com/SeldonIO/seldon-core/issues/1685)
+- com.google.protobuf.InvalidProtocolBufferException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 1 column 32772 path $.data.ndarray\[1\] at io.seldon.engine.pb.JsonFormat$ParserImpl.merge\(JsonFormat.java:1132\) ~\[classes!/:0.5.1-SNAPSHOT\] at io.seldon.engine.pb.JsonFormat$Parser.merge\(JsonFormat.java:313\) [\#1680](https://github.com/SeldonIO/seldon-core/issues/1680)
+- Unable to use HPA with a pre-packaged "implementation:TENSORFLOW\_SERVER" model due to "tfserving" container not having requests/limits defined [\#1676](https://github.com/SeldonIO/seldon-core/issues/1676)
+- Executor build failures [\#1663](https://github.com/SeldonIO/seldon-core/issues/1663)
+- Java wrapper do not accept application/json requests [\#1603](https://github.com/SeldonIO/seldon-core/issues/1603)
+- Images created with s2i don't work as explainers when added as containerspec [\#1549](https://github.com/SeldonIO/seldon-core/issues/1549)
+- Engine Thread Pool Configuration [\#1490](https://github.com/SeldonIO/seldon-core/issues/1490)
+- test\_no\_permission\_bucket\_gcs fails when run locally [\#1364](https://github.com/SeldonIO/seldon-core/issues/1364)
+- Benchmarking notebook fails with "Deployment not found" error [\#1177](https://github.com/SeldonIO/seldon-core/issues/1177)
+
+**Closed issues:**
+
+- From Kubeflow to Seldon Documentation [\#1961](https://github.com/SeldonIO/seldon-core/issues/1961)
+- Update Payload Logger to use V1 Cloudevents [\#1958](https://github.com/SeldonIO/seldon-core/issues/1958)
+- Make Operator and Executor Dockefile executable dynamically linked [\#1951](https://github.com/SeldonIO/seldon-core/issues/1951)
+- Notebook Test Updates [\#1948](https://github.com/SeldonIO/seldon-core/issues/1948)
+- Update Licenses for 1.2 Release [\#1947](https://github.com/SeldonIO/seldon-core/issues/1947)
+- add managed-by label [\#1936](https://github.com/SeldonIO/seldon-core/issues/1936)
+- extend metadata to cover seldon message [\#1933](https://github.com/SeldonIO/seldon-core/issues/1933)
+- Seldon-core-microservice-tester command available for ambassador endpoint [\#1914](https://github.com/SeldonIO/seldon-core/issues/1914)
+- seldon-core-manager pod is getting restarted [\#1910](https://github.com/SeldonIO/seldon-core/issues/1910)
+- /metrics endpoint to return a json file [\#1905](https://github.com/SeldonIO/seldon-core/issues/1905)
+- Is /metrics endpoint accessible [\#1901](https://github.com/SeldonIO/seldon-core/issues/1901)
+- How seldon custom metrics work? Can it be seen on grafana? [\#1898](https://github.com/SeldonIO/seldon-core/issues/1898)
+- Ensure Upgrading to 1.2.0 complete [\#1888](https://github.com/SeldonIO/seldon-core/issues/1888)
+- Multiplex HTTP and gRPC on the operator [\#1887](https://github.com/SeldonIO/seldon-core/issues/1887)
+- Add back Java engine's integration tests [\#1878](https://github.com/SeldonIO/seldon-core/issues/1878)
+- option for request logging to go to a single namespace [\#1859](https://github.com/SeldonIO/seldon-core/issues/1859)
+- track cloudevents version [\#1857](https://github.com/SeldonIO/seldon-core/issues/1857)
+- Ensure all documentation links are relative [\#1851](https://github.com/SeldonIO/seldon-core/issues/1851)
+- update model metadata notebook example [\#1829](https://github.com/SeldonIO/seldon-core/issues/1829)
+- Kind test script Istio install failing with kubectl version v1.18.x [\#1802](https://github.com/SeldonIO/seldon-core/issues/1802)
+- Better names for metric ports of SeldonDeployment containers [\#1798](https://github.com/SeldonIO/seldon-core/issues/1798)
+- Create new Release PIpeline in Jenkins X that works on separate branch [\#1793](https://github.com/SeldonIO/seldon-core/issues/1793)
+- To pass customized input json without the mandatory jsonData parameter [\#1792](https://github.com/SeldonIO/seldon-core/issues/1792)
+- Add a section in the python docs to talk about environment.yaml for conda [\#1788](https://github.com/SeldonIO/seldon-core/issues/1788)
+- Get timeout error on seldon-container-engine if I set GUNICORN\_WORKERS env [\#1777](https://github.com/SeldonIO/seldon-core/issues/1777)
+- Add explainer image version to configmap [\#1776](https://github.com/SeldonIO/seldon-core/issues/1776)
+- Allow access to headers in python wrapper [\#1769](https://github.com/SeldonIO/seldon-core/issues/1769)
+- Multiplex HTTP and gRPC on the executor [\#1762](https://github.com/SeldonIO/seldon-core/issues/1762)
+- GCP Marketplace Update CRD Create [\#1755](https://github.com/SeldonIO/seldon-core/issues/1755)
+- Investigate test\_model\_template\_app\_grpc\_metrics flakiness [\#1745](https://github.com/SeldonIO/seldon-core/issues/1745)
+- docs: have a single notebook that helm install minio [\#1740](https://github.com/SeldonIO/seldon-core/issues/1740)
+- RedHat version of core servers [\#1734](https://github.com/SeldonIO/seldon-core/issues/1734)
+- Pachyderm integration [\#1733](https://github.com/SeldonIO/seldon-core/issues/1733)
+- provide a graph-level model metadata [\#1728](https://github.com/SeldonIO/seldon-core/issues/1728)
+- RedHat Operator Updates for 1.1.0 [\#1710](https://github.com/SeldonIO/seldon-core/issues/1710)
+- Add docs for istio annotations [\#1707](https://github.com/SeldonIO/seldon-core/issues/1707)
+- log seldon-core and wrapper version after microservice start [\#1704](https://github.com/SeldonIO/seldon-core/issues/1704)
+- Running release script will remove chart comments [\#1690](https://github.com/SeldonIO/seldon-core/issues/1690)
+- add model metadata support [\#1638](https://github.com/SeldonIO/seldon-core/issues/1638)
+- allow to use Java engine if helm installation defaults to executor [\#1607](https://github.com/SeldonIO/seldon-core/issues/1607)
+- ensure we're using open source ambassador in examples [\#1581](https://github.com/SeldonIO/seldon-core/issues/1581)
+- High number of concurrent users causing Seldon API to timeout [\#1558](https://github.com/SeldonIO/seldon-core/issues/1558)
+- Add support to add ambassador circuit-breaker in seldon deployment [\#1556](https://github.com/SeldonIO/seldon-core/issues/1556)
+- Move notebook tests to separate test command [\#1538](https://github.com/SeldonIO/seldon-core/issues/1538)
+- com.google.protobuf.InvalidProtocolBufferException: null [\#1532](https://github.com/SeldonIO/seldon-core/issues/1532)
+- ENGINE\_CONTAINER\_SERVICE\_ACCOUNT\_NAME and EXECUTOR\_CONTAINER\_SERVICE\_ACCOUNT\_NAME is picking a default value [\#1508](https://github.com/SeldonIO/seldon-core/issues/1508)
+- UBI version of the latest Seldon operator image [\#1482](https://github.com/SeldonIO/seldon-core/issues/1482)
+- Request metadata: discussion and design [\#1480](https://github.com/SeldonIO/seldon-core/issues/1480)
+- Send back PUID on response [\#1460](https://github.com/SeldonIO/seldon-core/issues/1460)
+- Support custom client protobufs in grpc server [\#1420](https://github.com/SeldonIO/seldon-core/issues/1420)
+- Alibi:Detect Outlier Detection Integration [\#1393](https://github.com/SeldonIO/seldon-core/issues/1393)
+- Define future approach to metadata and metrics with new Executor [\#1362](https://github.com/SeldonIO/seldon-core/issues/1362)
+- Update outlier detection examples [\#1288](https://github.com/SeldonIO/seldon-core/issues/1288)
+- make ambassador shadow consistent with istio [\#1109](https://github.com/SeldonIO/seldon-core/issues/1109)
+- can we expose health check api in internal python service similar to what we have in external like /ping [\#770](https://github.com/SeldonIO/seldon-core/issues/770)
+- Decouple tensorflow package from the base python seldon-core image. [\#564](https://github.com/SeldonIO/seldon-core/issues/564)
+- intermittent UNIMPLEMENTED error from ambassador [\#473](https://github.com/SeldonIO/seldon-core/issues/473)
+- conda-forge integration [\#341](https://github.com/SeldonIO/seldon-core/issues/341)
+- Profile the CRD operator [\#167](https://github.com/SeldonIO/seldon-core/issues/167)
+
+**Merged pull requests:**
+
+- Update upgrading docs [\#1971](https://github.com/SeldonIO/seldon-core/pull/1971) ([cliveseldon](https://github.com/cliveseldon))
+- Fix annotations and labels in Helm chart [\#1967](https://github.com/SeldonIO/seldon-core/pull/1967) ([adriangonz](https://github.com/adriangonz))
+- Add commercial secton to README [\#1962](https://github.com/SeldonIO/seldon-core/pull/1962) ([cliveseldon](https://github.com/cliveseldon))
+- Update cloudevents library to 1.2.0 [\#1959](https://github.com/SeldonIO/seldon-core/pull/1959) ([cliveseldon](https://github.com/cliveseldon))
+- fixing minor typo on istio docs [\#1957](https://github.com/SeldonIO/seldon-core/pull/1957) ([mtarng](https://github.com/mtarng))
+- Changed OpenAPI file permissions within image [\#1956](https://github.com/SeldonIO/seldon-core/pull/1956) ([axsaucedo](https://github.com/axsaucedo))
+- Update licenses [\#1954](https://github.com/SeldonIO/seldon-core/pull/1954) ([cliveseldon](https://github.com/cliveseldon))
+- Make operator and executor dynamically linked in Dockerfile images [\#1953](https://github.com/SeldonIO/seldon-core/pull/1953) ([cliveseldon](https://github.com/cliveseldon))
+- Fixes for tests [\#1950](https://github.com/SeldonIO/seldon-core/pull/1950) ([cliveseldon](https://github.com/cliveseldon))
+- Bump pytest-cov from 2.9.0 to 2.10.0 in /python [\#1946](https://github.com/SeldonIO/seldon-core/pull/1946) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump mypy-protobuf from 1.20 to 1.22 in /python [\#1945](https://github.com/SeldonIO/seldon-core/pull/1945) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Fix notebooks test [\#1940](https://github.com/SeldonIO/seldon-core/pull/1940) ([adriangonz](https://github.com/adriangonz))
+- feat\(blogs\): Add a new blog post in Chinese [\#1939](https://github.com/SeldonIO/seldon-core/pull/1939) ([gaocegege](https://github.com/gaocegege))
+- add managed-by label [\#1937](https://github.com/SeldonIO/seldon-core/pull/1937) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- fix spacy example [\#1935](https://github.com/SeldonIO/seldon-core/pull/1935) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix chart integration tests [\#1934](https://github.com/SeldonIO/seldon-core/pull/1934) ([adriangonz](https://github.com/adriangonz))
+- Fix example in top level readme [\#1930](https://github.com/SeldonIO/seldon-core/pull/1930) ([cliveseldon](https://github.com/cliveseldon))
+- Update mypy requirement from \<0.771 to \<0.781 in /python [\#1924](https://github.com/SeldonIO/seldon-core/pull/1924) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- updated histogram buckets [\#1920](https://github.com/SeldonIO/seldon-core/pull/1920) ([chengchengpei](https://github.com/chengchengpei))
+- analytics option to switch nodeExporter port [\#1917](https://github.com/SeldonIO/seldon-core/pull/1917) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Batch Processor Component [\#1915](https://github.com/SeldonIO/seldon-core/pull/1915) ([axsaucedo](https://github.com/axsaucedo))
+- Updating auth example to use new seldon core operator [\#1913](https://github.com/SeldonIO/seldon-core/pull/1913) ([SachinVarghese](https://github.com/SachinVarghese))
+- add v1 metadata format that describes SeldonMessage more accurately [\#1911](https://github.com/SeldonIO/seldon-core/pull/1911) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Added checks to only build components in tests if have been modified [\#1909](https://github.com/SeldonIO/seldon-core/pull/1909) ([axsaucedo](https://github.com/axsaucedo))
+- fix the loop length from parmeters count [\#1908](https://github.com/SeldonIO/seldon-core/pull/1908) ([abechen](https://github.com/abechen))
+- Clean up and document charts [\#1906](https://github.com/SeldonIO/seldon-core/pull/1906) ([adriangonz](https://github.com/adriangonz))
+- Update prometheus-client requirement from \<0.8.0,\>=0.7.1 to \>=0.7.1,\<0.9.0 in /python [\#1903](https://github.com/SeldonIO/seldon-core/pull/1903) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Fix content-type behaviour in executor [\#1900](https://github.com/SeldonIO/seldon-core/pull/1900) ([cliveseldon](https://github.com/cliveseldon))
+- increase failureThreshold in mlflow server sample [\#1897](https://github.com/SeldonIO/seldon-core/pull/1897) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- make docs links relative [\#1893](https://github.com/SeldonIO/seldon-core/pull/1893) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Remove gRPC port from Operator [\#1892](https://github.com/SeldonIO/seldon-core/pull/1892) ([glindsell](https://github.com/glindsell))
+- Routers not working with new Executor, fix \[#1876](https://github.com/SeldonIO/seldon-core/issues/1876) [\#1890](https://github.com/SeldonIO/seldon-core/pull/1890) ([neopobo](https://github.com/neopobo))
+- fix name of minio\_setup notebook in links [\#1889](https://github.com/SeldonIO/seldon-core/pull/1889) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Make engine tests less verbose [\#1883](https://github.com/SeldonIO/seldon-core/pull/1883) ([adriangonz](https://github.com/adriangonz))
+- Bring back integration tests for Java engine [\#1882](https://github.com/SeldonIO/seldon-core/pull/1882) ([adriangonz](https://github.com/adriangonz))
+- fix script pushing wrapper images to docker hub [\#1875](https://github.com/SeldonIO/seldon-core/pull/1875) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump pytest-cov from 2.8.1 to 2.9.0 in /python [\#1871](https://github.com/SeldonIO/seldon-core/pull/1871) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- factor out minio setup instructions into single notebook [\#1868](https://github.com/SeldonIO/seldon-core/pull/1868) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Updating podinfo volume name to be seldon specific [\#1863](https://github.com/SeldonIO/seldon-core/pull/1863) ([SachinVarghese](https://github.com/SachinVarghese))
+- Add docs on using environment.yaml [\#1862](https://github.com/SeldonIO/seldon-core/pull/1862) ([adriangonz](https://github.com/adriangonz))
+- log url cross-namespace [\#1861](https://github.com/SeldonIO/seldon-core/pull/1861) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- XSS patches for executor [\#1860](https://github.com/SeldonIO/seldon-core/pull/1860) ([adriangonz](https://github.com/adriangonz))
+- Documentation fixes on examples [\#1849](https://github.com/SeldonIO/seldon-core/pull/1849) ([axsaucedo](https://github.com/axsaucedo))
+- Optionally allow manager to create CRD [\#1848](https://github.com/SeldonIO/seldon-core/pull/1848) ([cliveseldon](https://github.com/cliveseldon))
+- Update Storage.py to 0.3.0 [\#1846](https://github.com/SeldonIO/seldon-core/pull/1846) ([axsaucedo](https://github.com/axsaucedo))
+- Refactor Python microservice tests [\#1844](https://github.com/SeldonIO/seldon-core/pull/1844) ([adriangonz](https://github.com/adriangonz))
+- Fix Ambassador rest/grpc timeout annotations in docs [\#1843](https://github.com/SeldonIO/seldon-core/pull/1843) ([cliveseldon](https://github.com/cliveseldon))
+- Add istio retries to docs [\#1842](https://github.com/SeldonIO/seldon-core/pull/1842) ([cliveseldon](https://github.com/cliveseldon))
+- Bump tenacity from 6.0.0 to 6.2.0 in /python [\#1839](https://github.com/SeldonIO/seldon-core/pull/1839) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump flake8 from 3.7.9 to 3.8.1 in /python [\#1838](https://github.com/SeldonIO/seldon-core/pull/1838) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Authentication and authorization for seldon core requests example [\#1834](https://github.com/SeldonIO/seldon-core/pull/1834) ([SachinVarghese](https://github.com/SachinVarghese))
+- expose rest feedback endpoint in executor [\#1833](https://github.com/SeldonIO/seldon-core/pull/1833) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- make seldon.io/executor annotation setting a priority [\#1831](https://github.com/SeldonIO/seldon-core/pull/1831) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- graph level metadata [\#1803](https://github.com/SeldonIO/seldon-core/pull/1803) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add Seldon PUID Header to gRPC context + tests [\#1790](https://github.com/SeldonIO/seldon-core/pull/1790) ([glindsell](https://github.com/glindsell))
+- Prepackaged RedHat Model Servers [\#1775](https://github.com/SeldonIO/seldon-core/pull/1775) ([cliveseldon](https://github.com/cliveseldon))
+- Add executor changes for HTTP/gRPC multiplexing [\#1772](https://github.com/SeldonIO/seldon-core/pull/1772) ([glindsell](https://github.com/glindsell))
+- Make graph a value rather than point in CRD types [\#1752](https://github.com/SeldonIO/seldon-core/pull/1752) ([cliveseldon](https://github.com/cliveseldon))
+- info-log seldon-core version on microservice start [\#1751](https://github.com/SeldonIO/seldon-core/pull/1751) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix broken and/or missing links in the documentation [\#1743](https://github.com/SeldonIO/seldon-core/pull/1743) ([ozturkberkay](https://github.com/ozturkberkay))
+
+
+[Changes][v1.2.0]
+
+
+
+## [v1.1.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.1.0) - 16 Apr 2020
+
+# Changelog
+
+## [v1.1.0](https://github.com/seldonio/seldon-core/tree/v1.1.0) (2020-04-16)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.0.2...v1.1.0)
+
+**Fixed bugs:**
+
+- Client Go library for istio not backwards compatible [\#1695](https://github.com/SeldonIO/seldon-core/issues/1695)
+- Change executor timeouts [\#1691](https://github.com/SeldonIO/seldon-core/issues/1691)
+- Should only set istio route weight when seldon traffic field value \> 0 [\#1658](https://github.com/SeldonIO/seldon-core/issues/1658)
+- \[document\] Seldon Core Roadmap is missing [\#1646](https://github.com/SeldonIO/seldon-core/issues/1646)
+- Clean up of VirtualServices active for non-istio scenarios [\#1631](https://github.com/SeldonIO/seldon-core/issues/1631)
+- Explainer prediction errors when spec-name or predictior-name change [\#1626](https://github.com/SeldonIO/seldon-core/issues/1626)
+- Explainer example notebook use v1alpha2 CRDS [\#1622](https://github.com/SeldonIO/seldon-core/issues/1622)
+- cifar10 custom logger not recording dataType [\#1617](https://github.com/SeldonIO/seldon-core/issues/1617)
+- wrapper compatibility table not visible in sphinx-rendered docs [\#1612](https://github.com/SeldonIO/seldon-core/issues/1612)
+- url with tensorflow protocol [\#1611](https://github.com/SeldonIO/seldon-core/issues/1611)
+- Ensure SNAPSHOT builds contain unique identified \(hash, date, etc\) [\#1605](https://github.com/SeldonIO/seldon-core/issues/1605)
+- PrePackaged Server deployment failure [\#1599](https://github.com/SeldonIO/seldon-core/issues/1599)
+- Duplicated VirtualServices entries [\#1594](https://github.com/SeldonIO/seldon-core/issues/1594)
+- Empty explainers on old deployments [\#1593](https://github.com/SeldonIO/seldon-core/issues/1593)
+- Inference graph becomes unavalible with no error in logs [\#1584](https://github.com/SeldonIO/seldon-core/issues/1584)
+- notebook links dead in mdincluded markdown files [\#1583](https://github.com/SeldonIO/seldon-core/issues/1583)
+- Changing names of componentSpecs causes reconcile error [\#1571](https://github.com/SeldonIO/seldon-core/issues/1571)
+- Different behaviors between seldon-engine v0.4.1 and v1.0.2 [\#1569](https://github.com/SeldonIO/seldon-core/issues/1569)
+- seldon-core-crd helm chart is out of date [\#1563](https://github.com/SeldonIO/seldon-core/issues/1563)
+- Add labels from componentSpecs.metadata to dpeloyments [\#1561](https://github.com/SeldonIO/seldon-core/issues/1561)
+- Istio creates different path to Ambassador for explainer [\#1548](https://github.com/SeldonIO/seldon-core/issues/1548)
+- Deployments created by Seldon are apps/v1 but HPA scaleTargetRef is extensions/v1beta1 [\#1533](https://github.com/SeldonIO/seldon-core/issues/1533)
+- Invalid JSON: Unexpected type for Value message when passing tuples in json\_data [\#1527](https://github.com/SeldonIO/seldon-core/issues/1527)
+- Engine has multiple Makefiles and Dockerfiles [\#1521](https://github.com/SeldonIO/seldon-core/issues/1521)
+- Reduce flakiness on rolling update tests [\#1513](https://github.com/SeldonIO/seldon-core/issues/1513)
+- minio example [\#1506](https://github.com/SeldonIO/seldon-core/issues/1506)
+- missing python dependencies for integration tests [\#1504](https://github.com/SeldonIO/seldon-core/issues/1504)
+- Error in SeldonClient in debugger [\#1499](https://github.com/SeldonIO/seldon-core/issues/1499)
+- Jenkins X integration broken [\#1484](https://github.com/SeldonIO/seldon-core/issues/1484)
+- executor: tags do not propagate through inference graph [\#1474](https://github.com/SeldonIO/seldon-core/issues/1474)
+- seldonio/seldon-core-executor image versions need updating [\#1469](https://github.com/SeldonIO/seldon-core/issues/1469)
+- Seldon Core Deployment Istio virtualservice is only created until after the pod is ready resulting in service unavailable until it propagates [\#1461](https://github.com/SeldonIO/seldon-core/issues/1461)
+- Predictive Unit/Deployment Environment Variables not set by operator [\#1449](https://github.com/SeldonIO/seldon-core/issues/1449)
+- Errors in seldon\_core\_setup notebook [\#1440](https://github.com/SeldonIO/seldon-core/issues/1440)
+- Errors in helm\_examples notebook [\#1436](https://github.com/SeldonIO/seldon-core/issues/1436)
+- Errors in explainer\_examples notebook [\#1434](https://github.com/SeldonIO/seldon-core/issues/1434)
+- Executor version not updated in Kustomize during release [\#1432](https://github.com/SeldonIO/seldon-core/issues/1432)
+- Seldon controller crashes when submitting deployer [\#1418](https://github.com/SeldonIO/seldon-core/issues/1418)
+- Flakiness on integration tests [\#1402](https://github.com/SeldonIO/seldon-core/issues/1402)
+- operator/helm/create\_templates.sh generated files can have order of sections different on different machines [\#1291](https://github.com/SeldonIO/seldon-core/issues/1291)
+
+**Closed issues:**
+
+- logger to identify single-element numeric reqs or responses as 'number' [\#1699](https://github.com/SeldonIO/seldon-core/issues/1699)
+- Add Outlier and Drift examples to Seldon Core [\#1692](https://github.com/SeldonIO/seldon-core/issues/1692)
+- Create Alibi Detect Server [\#1667](https://github.com/SeldonIO/seldon-core/issues/1667)
+- Request for Java version of Seldon Grpc Client [\#1656](https://github.com/SeldonIO/seldon-core/issues/1656)
+- standardise requests in req logger [\#1644](https://github.com/SeldonIO/seldon-core/issues/1644)
+- SeldonClient doesn't currently work with explainers on gateway [\#1627](https://github.com/SeldonIO/seldon-core/issues/1627)
+- API group should be "machinelearning.seldon.io" not "machinelearning" [\#1615](https://github.com/SeldonIO/seldon-core/issues/1615)
+- Remove old docs folder [\#1610](https://github.com/SeldonIO/seldon-core/issues/1610)
+- Clarify for how long Java engine orchestrator will be supported [\#1608](https://github.com/SeldonIO/seldon-core/issues/1608)
+- Document s2i wrapper compatibility with Seldon Core 1.1 [\#1601](https://github.com/SeldonIO/seldon-core/issues/1601)
+- Be able to scale SeldonDeployment objects using kubectl [\#1598](https://github.com/SeldonIO/seldon-core/issues/1598)
+- Default Engine Java Opts exposes Vulnerability [\#1597](https://github.com/SeldonIO/seldon-core/issues/1597)
+- \[document request\] Add more technical details about service orchestrator [\#1596](https://github.com/SeldonIO/seldon-core/issues/1596)
+- Inquiry - Java JMX Server Security Vulnerability [\#1595](https://github.com/SeldonIO/seldon-core/issues/1595)
+- Add Scale SubResource to CRD [\#1592](https://github.com/SeldonIO/seldon-core/issues/1592)
+- Make inclusion of metrics in SeldonMessage configurable in 1.1 [\#1582](https://github.com/SeldonIO/seldon-core/issues/1582)
+- Passing status code back from executor service orchestrator [\#1574](https://github.com/SeldonIO/seldon-core/issues/1574)
+- Separate Jupyter Notebook Tests from E2E tests to improve speed of tests [\#1567](https://github.com/SeldonIO/seldon-core/issues/1567)
+- Avoid logging that custom\_tags or custom\_metrics is not implemented on every request [\#1565](https://github.com/SeldonIO/seldon-core/issues/1565)
+- Document compatbility of wrapper versions with seldon engine versions [\#1564](https://github.com/SeldonIO/seldon-core/issues/1564)
+- Surface reconcile errors as Events on the SeldonDeployment [\#1560](https://github.com/SeldonIO/seldon-core/issues/1560)
+- New protocol and transport fields should be moved to higher level in CRD [\#1552](https://github.com/SeldonIO/seldon-core/issues/1552)
+- Upgrade process from v1.0.2 [\#1551](https://github.com/SeldonIO/seldon-core/issues/1551)
+- Upgrade Blogs Section in Documentation [\#1550](https://github.com/SeldonIO/seldon-core/issues/1550)
+- seldon-core-analytics should not use hostPort [\#1539](https://github.com/SeldonIO/seldon-core/issues/1539)
+- The variable envSecretRefName currently has to be set up on a deployment level but would be required to have global default for seldon-core [\#1530](https://github.com/SeldonIO/seldon-core/issues/1530)
+- OpenShift 4.3 compatibility for Seldon-Operator 0.1.5 [\#1524](https://github.com/SeldonIO/seldon-core/issues/1524)
+- Add doc for all images used by Core [\#1515](https://github.com/SeldonIO/seldon-core/issues/1515)
+- request logging prominence in docs [\#1514](https://github.com/SeldonIO/seldon-core/issues/1514)
+- Change TFServing image in helm chart to point to specific version instead of latest [\#1512](https://github.com/SeldonIO/seldon-core/issues/1512)
+- Add top level registry prefix to Helm Charts for custom registries [\#1510](https://github.com/SeldonIO/seldon-core/issues/1510)
+- Allow for default Seldon Core request logger endpoint to be set on helm chart [\#1501](https://github.com/SeldonIO/seldon-core/issues/1501)
+- seldon support muti istio gateway [\#1500](https://github.com/SeldonIO/seldon-core/issues/1500)
+- Change explainer type to pointer in go struct [\#1485](https://github.com/SeldonIO/seldon-core/issues/1485)
+- Prediction API should define a dedicated image type [\#1478](https://github.com/SeldonIO/seldon-core/issues/1478)
+- Support Seldon Core v1 in Operator Framework Community Operator [\#1477](https://github.com/SeldonIO/seldon-core/issues/1477)
+- Expose /metrics prometheus endpoint in python wrapper [\#1476](https://github.com/SeldonIO/seldon-core/issues/1476)
+- Add breaking changes for 1.1 to docs [\#1475](https://github.com/SeldonIO/seldon-core/issues/1475)
+- Clean up examples [\#1467](https://github.com/SeldonIO/seldon-core/issues/1467)
+- failed calling webhook "mutating-create-update-seldondeployment.seldon.io": error [\#1462](https://github.com/SeldonIO/seldon-core/issues/1462)
+- Clean up notebook examples [\#1456](https://github.com/SeldonIO/seldon-core/issues/1456)
+- Remove benchmark\_simple\_model notebook [\#1455](https://github.com/SeldonIO/seldon-core/issues/1455)
+- executor tracing enhancement [\#1444](https://github.com/SeldonIO/seldon-core/issues/1444)
+- Sync s2i wrapper image versions with Seldon Core releases [\#1439](https://github.com/SeldonIO/seldon-core/issues/1439)
+- Ambassador setup fails to complete on minikube [\#1435](https://github.com/SeldonIO/seldon-core/issues/1435)
+- Seldon v1.0 CRD uses new \(k8s 1.15\) feature that not backward compatible with k8s versions \(\<= 1.14\) [\#1431](https://github.com/SeldonIO/seldon-core/issues/1431)
+- Cherrypick PRs for 1.0.2 Release [\#1429](https://github.com/SeldonIO/seldon-core/issues/1429)
+- Document custom pre-packaged model servers [\#1416](https://github.com/SeldonIO/seldon-core/issues/1416)
+- new v1.0.0 CRD's resources validator is not backward compatible [\#1410](https://github.com/SeldonIO/seldon-core/issues/1410)
+- Add kubernetes labels to help with selectors [\#1405](https://github.com/SeldonIO/seldon-core/issues/1405)
+- Support for Xgboost 0.9 [\#1394](https://github.com/SeldonIO/seldon-core/issues/1394)
+- Updated Seldon Data Plane [\#1389](https://github.com/SeldonIO/seldon-core/issues/1389)
+- Add annotation support for executor [\#1384](https://github.com/SeldonIO/seldon-core/issues/1384)
+- Possible enhance ambassador customization in seldon deployment [\#1378](https://github.com/SeldonIO/seldon-core/issues/1378)
+- Seldon controller pod crashes on deploy when no internet connection available [\#1374](https://github.com/SeldonIO/seldon-core/issues/1374)
+- request logging for shadows [\#1207](https://github.com/SeldonIO/seldon-core/issues/1207)
+- Integration tests for tracing [\#977](https://github.com/SeldonIO/seldon-core/issues/977)
+- Custom errors raised in Python microservice don't make it back to the client [\#939](https://github.com/SeldonIO/seldon-core/issues/939)
+- Prometheus nodes get evicted, limits could be added to avoid this [\#934](https://github.com/SeldonIO/seldon-core/issues/934)
+- Scaling of SeldonSeployments [\#884](https://github.com/SeldonIO/seldon-core/issues/884)
+- tensorflow-gpu [\#602](https://github.com/SeldonIO/seldon-core/issues/602)
+- Reduce size of images created by Python wrapper [\#312](https://github.com/SeldonIO/seldon-core/issues/312)
+- gRPC metrics not exposed to prometheus [\#302](https://github.com/SeldonIO/seldon-core/issues/302)
+
+**Merged pull requests:**
+
+- Outlier and Drift Detection Examples [\#1702](https://github.com/SeldonIO/seldon-core/pull/1702) ([cliveseldon](https://github.com/cliveseldon))
+- add number dataType to logger [\#1700](https://github.com/SeldonIO/seldon-core/pull/1700) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- add basic minio example [\#1697](https://github.com/SeldonIO/seldon-core/pull/1697) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- 1695 istio client [\#1696](https://github.com/SeldonIO/seldon-core/pull/1696) ([cliveseldon](https://github.com/cliveseldon))
+- fix release script to preserve comments in operator values yaml file [\#1694](https://github.com/SeldonIO/seldon-core/pull/1694) ([gsunner](https://github.com/gsunner))
+- Leave timeouts as default [\#1693](https://github.com/SeldonIO/seldon-core/pull/1693) ([adriangonz](https://github.com/adriangonz))
+- Bump okhttp from 4.4.0 to 4.5.0 in /engine [\#1687](https://github.com/SeldonIO/seldon-core/pull/1687) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Allow non-model specific predict for Tensorflow protocol [\#1684](https://github.com/SeldonIO/seldon-core/pull/1684) ([cliveseldon](https://github.com/cliveseldon))
+- Fix mdincluded links [\#1683](https://github.com/SeldonIO/seldon-core/pull/1683) ([cliveseldon](https://github.com/cliveseldon))
+- Updating owners file [\#1679](https://github.com/SeldonIO/seldon-core/pull/1679) ([axsaucedo](https://github.com/axsaucedo))
+- Document custom inference servers [\#1673](https://github.com/SeldonIO/seldon-core/pull/1673) ([adriangonz](https://github.com/adriangonz))
+- Added documentation for new functionality to add Dated SNAPSHOTS [\#1672](https://github.com/SeldonIO/seldon-core/pull/1672) ([axsaucedo](https://github.com/axsaucedo))
+- Fixed typo for version file path [\#1670](https://github.com/SeldonIO/seldon-core/pull/1670) ([axsaucedo](https://github.com/axsaucedo))
+- alibi-detect-server [\#1669](https://github.com/SeldonIO/seldon-core/pull/1669) ([cliveseldon](https://github.com/cliveseldon))
+- Explainer Gateway Fix for Istio, Ambassador and Python Client [\#1668](https://github.com/SeldonIO/seldon-core/pull/1668) ([axsaucedo](https://github.com/axsaucedo))
+- fix headers level in metrics docs [\#1666](https://github.com/SeldonIO/seldon-core/pull/1666) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump pillow from 7.0.0 to 7.1.1 in /python [\#1665](https://github.com/SeldonIO/seldon-core/pull/1665) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Push dated SNAPSHOT images with respective branches containing helm charts [\#1660](https://github.com/SeldonIO/seldon-core/pull/1660) ([axsaucedo](https://github.com/axsaucedo))
+- Add missing roadmap link [\#1654](https://github.com/SeldonIO/seldon-core/pull/1654) ([jklaise](https://github.com/jklaise))
+- Updated CRDs for knative eventing and added docs [\#1653](https://github.com/SeldonIO/seldon-core/pull/1653) ([axsaucedo](https://github.com/axsaucedo))
+- Update operator dependency and remove docker+make fix [\#1650](https://github.com/SeldonIO/seldon-core/pull/1650) ([glindsell](https://github.com/glindsell))
+- mark model metadata in python wrapper as incubating feature in 1.1 docs [\#1649](https://github.com/SeldonIO/seldon-core/pull/1649) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add missing roadmap doc [\#1647](https://github.com/SeldonIO/seldon-core/pull/1647) ([cliveseldon](https://github.com/cliveseldon))
+- unify req logs [\#1645](https://github.com/SeldonIO/seldon-core/pull/1645) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- remove crd chart [\#1643](https://github.com/SeldonIO/seldon-core/pull/1643) ([cliveseldon](https://github.com/cliveseldon))
+- Process text and binary payloads [\#1642](https://github.com/SeldonIO/seldon-core/pull/1642) ([Teagan42](https://github.com/Teagan42))
+- update svc orch docs [\#1641](https://github.com/SeldonIO/seldon-core/pull/1641) ([cliveseldon](https://github.com/cliveseldon))
+- Remove jmx default settings for engine [\#1640](https://github.com/SeldonIO/seldon-core/pull/1640) ([cliveseldon](https://github.com/cliveseldon))
+- remove unused docs folder [\#1639](https://github.com/SeldonIO/seldon-core/pull/1639) ([cliveseldon](https://github.com/cliveseldon))
+- Fix some readme links [\#1636](https://github.com/SeldonIO/seldon-core/pull/1636) ([jklaise](https://github.com/jklaise))
+- Add notes on missing mutating webhook [\#1635](https://github.com/SeldonIO/seldon-core/pull/1635) ([adriangonz](https://github.com/adriangonz))
+- Bump commons-lang3 from 3.9 to 3.10 in /engine [\#1634](https://github.com/SeldonIO/seldon-core/pull/1634) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Add /scale subresource to CRD and replicas to various parts of CRD. [\#1633](https://github.com/SeldonIO/seldon-core/pull/1633) ([cliveseldon](https://github.com/cliveseldon))
+- check for virtualservices before running clean up [\#1632](https://github.com/SeldonIO/seldon-core/pull/1632) ([cliveseldon](https://github.com/cliveseldon))
+- Fix the base image name [\#1629](https://github.com/SeldonIO/seldon-core/pull/1629) ([qrtt1](https://github.com/qrtt1))
+- Make inclusion of metrics in SeldonMessage configurable in 1.1 [\#1625](https://github.com/SeldonIO/seldon-core/pull/1625) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Revert "Make inclusion of metrics in SeldonMessage configurable in 1.1" [\#1624](https://github.com/SeldonIO/seldon-core/pull/1624) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix Prepackaged Server nil and update core examples [\#1623](https://github.com/SeldonIO/seldon-core/pull/1623) ([cliveseldon](https://github.com/cliveseldon))
+- Fix typo in explainers.md [\#1621](https://github.com/SeldonIO/seldon-core/pull/1621) ([ssaamm](https://github.com/ssaamm))
+- Removed unused seldon analytics variables and updated docs [\#1620](https://github.com/SeldonIO/seldon-core/pull/1620) ([axsaucedo](https://github.com/axsaucedo))
+- Added executor tests to CI [\#1619](https://github.com/SeldonIO/seldon-core/pull/1619) ([axsaucedo](https://github.com/axsaucedo))
+- Fix clean up of old virtual services [\#1618](https://github.com/SeldonIO/seldon-core/pull/1618) ([cliveseldon](https://github.com/cliveseldon))
+- fix wrapper compatibility notes [\#1616](https://github.com/SeldonIO/seldon-core/pull/1616) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Replace api group machinelearning with machinelearning.seldon.io [\#1614](https://github.com/SeldonIO/seldon-core/pull/1614) ([glindsell](https://github.com/glindsell))
+- Fix for empty explainers [\#1604](https://github.com/SeldonIO/seldon-core/pull/1604) ([adriangonz](https://github.com/adriangonz))
+- document SC 1.1 compatibility with different s2i wrappers [\#1602](https://github.com/SeldonIO/seldon-core/pull/1602) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix labelling panic for prepackaged servers [\#1600](https://github.com/SeldonIO/seldon-core/pull/1600) ([cliveseldon](https://github.com/cliveseldon))
+- hotfix race condition in metrics endpoint test [\#1591](https://github.com/SeldonIO/seldon-core/pull/1591) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Make inclusion of metrics in SeldonMessage configurable in 1.1 [\#1590](https://github.com/SeldonIO/seldon-core/pull/1590) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update blog links [\#1589](https://github.com/SeldonIO/seldon-core/pull/1589) ([adriangonz](https://github.com/adriangonz))
+- fix link to Prometheus docs in custom metrics documentation [\#1588](https://github.com/SeldonIO/seldon-core/pull/1588) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- add missing entry in doc index \(custom metrics\) [\#1587](https://github.com/SeldonIO/seldon-core/pull/1587) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Added documentation page on local testing [\#1586](https://github.com/SeldonIO/seldon-core/pull/1586) ([axsaucedo](https://github.com/axsaucedo))
+- Update explainer path for Ambassador [\#1585](https://github.com/SeldonIO/seldon-core/pull/1585) ([cliveseldon](https://github.com/cliveseldon))
+- Ensure all labels and annotations added to created deployments [\#1580](https://github.com/SeldonIO/seldon-core/pull/1580) ([cliveseldon](https://github.com/cliveseldon))
+- Update seldon images doc to include missing and rearrange [\#1578](https://github.com/SeldonIO/seldon-core/pull/1578) ([cliveseldon](https://github.com/cliveseldon))
+- Ensure error status codes are surfaced from client failures [\#1575](https://github.com/SeldonIO/seldon-core/pull/1575) ([cliveseldon](https://github.com/cliveseldon))
+- Deployment name changes [\#1573](https://github.com/SeldonIO/seldon-core/pull/1573) ([cliveseldon](https://github.com/cliveseldon))
+- Basic support for Cloudevents with KNative Eventing Example [\#1572](https://github.com/SeldonIO/seldon-core/pull/1572) ([axsaucedo](https://github.com/axsaucedo))
+- Add Events and fix State for SeldonDeployments [\#1570](https://github.com/SeldonIO/seldon-core/pull/1570) ([cliveseldon](https://github.com/cliveseldon))
+- Add new labels to Services [\#1555](https://github.com/SeldonIO/seldon-core/pull/1555) ([glindsell](https://github.com/glindsell))
+- RedHat Community Operator [\#1519](https://github.com/SeldonIO/seldon-core/pull/1519) ([cliveseldon](https://github.com/cliveseldon))
+- expose /metrics in python wrapper [\#1507](https://github.com/SeldonIO/seldon-core/pull/1507) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Breaking Changes Doc for 1.1 [\#1496](https://github.com/SeldonIO/seldon-core/pull/1496) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v1.1.0]
+
+
+
+## [v1.0.2](https://github.com/SeldonIO/seldon-core/releases/tag/v1.0.2) - 18 Feb 2020
+
+# Changelog
+
+## [v1.0.2](https://github.com/seldonio/seldon-core/tree/v1.0.2) (2020-02-17)
+
+ **Merged pull requests:**
+- Operator 3rd party licences [#1367](https://github.com/SeldonIO/seldon-core/issues/1367)
+- added knobs in operator helm chart to control manager resources [#1407](https://github.com/SeldonIO/seldon-core/issues/1407)
+- Ensure unique names for webhooks [#1408](https://github.com/SeldonIO/seldon-core/issues/1408)
+- Kubeflow manifest changes [#1414](https://github.com/SeldonIO/seldon-core/issues/1414)
+- Update resources to larger defaults for operator [#1428](https://github.com/SeldonIO/seldon-core/issues/1428)
+
+
+[Changes][v1.0.2]
+
+
+
+## [v1.0.1](https://github.com/SeldonIO/seldon-core/releases/tag/v1.0.1) - 15 Jan 2020
+
+# Changelog
+
+## [v1.0.1](https://github.com/seldonio/seldon-core/tree/v1.0.1) (2020-01-15)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v1.0.0...v1.0.1)
+
+**Fixed bugs:**
+
+- operator CI build fails [\#1330](https://github.com/SeldonIO/seldon-core/issues/1330)
+- Remove log4j from H2O example [\#1318](https://github.com/SeldonIO/seldon-core/issues/1318)
+- cert-manager version [\#1262](https://github.com/SeldonIO/seldon-core/issues/1262)
+
+**Closed issues:**
+
+- Old pods not removed after rolling update [\#1325](https://github.com/SeldonIO/seldon-core/issues/1325)
+- seldonio/seldon-core-s2i-python3-tf-gpu:0.15 image default python version is 2.7.17 [\#1324](https://github.com/SeldonIO/seldon-core/issues/1324)
+- send\_feedback\(\) got an unexpected keyword argument 'routing' [\#1321](https://github.com/SeldonIO/seldon-core/issues/1321)
+- Helm 2 install fails for v1.0 [\#1299](https://github.com/SeldonIO/seldon-core/issues/1299)
+- Clean up API types and Webhooks [\#1294](https://github.com/SeldonIO/seldon-core/issues/1294)
+- Include seldon proto compilation in GO [\#1245](https://github.com/SeldonIO/seldon-core/issues/1245)
+- helm upgrade when the operator configmap has changed? [\#1135](https://github.com/SeldonIO/seldon-core/issues/1135)
+- End-to-end tests for Pre-packaged model servers hang if name doesn't match exactly [\#820](https://github.com/SeldonIO/seldon-core/issues/820)
+- S2I builder images should have pinned Python dependencies [\#340](https://github.com/SeldonIO/seldon-core/issues/340)
+
+**Merged pull requests:**
+
+- make gpu image Python 3 exclusive, closes \[#1324](https://github.com/SeldonIO/seldon-core/issues/1324) [\#1336](https://github.com/SeldonIO/seldon-core/pull/1336) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- fix operator build - controller-gen install for go modules [\#1335](https://github.com/SeldonIO/seldon-core/pull/1335) ([gsunner](https://github.com/gsunner))
+- Create and use seldonio/core-builder:0.10 [\#1334](https://github.com/SeldonIO/seldon-core/pull/1334) ([gsunner](https://github.com/gsunner))
+- typo fix: missing api in io.seldon.wrapper.api.SeldonPredictionService [\#1332](https://github.com/SeldonIO/seldon-core/pull/1332) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- operator build test [\#1329](https://github.com/SeldonIO/seldon-core/pull/1329) ([gsunner](https://github.com/gsunner))
+- Bump okhttp from 4.3.0 to 4.3.1 in /engine [\#1328](https://github.com/SeldonIO/seldon-core/pull/1328) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Exception stack trace should be logged [\#1326](https://github.com/SeldonIO/seldon-core/pull/1326) ([lennon310](https://github.com/lennon310))
+- updatekindversion [\#1323](https://github.com/SeldonIO/seldon-core/pull/1323) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Remove log4j [\#1319](https://github.com/SeldonIO/seldon-core/pull/1319) ([adriangonz](https://github.com/adriangonz))
+- set deployment replicas [\#1316](https://github.com/SeldonIO/seldon-core/pull/1316) ([andrewshaoyu](https://github.com/andrewshaoyu))
+- fix issue 820 [\#1315](https://github.com/SeldonIO/seldon-core/pull/1315) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Bump okhttp from 4.2.2 to 4.3.0 in /engine [\#1314](https://github.com/SeldonIO/seldon-core/pull/1314) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pillow from 6.2.0 to 7.0.0 in /python [\#1313](https://github.com/SeldonIO/seldon-core/pull/1313) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- treat config as yaml in the values [\#1311](https://github.com/SeldonIO/seldon-core/pull/1311) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- configmap control via helm values [\#1309](https://github.com/SeldonIO/seldon-core/pull/1309) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- pvc tfjob example [\#1308](https://github.com/SeldonIO/seldon-core/pull/1308) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Bump guava from 28.1-jre to 28.2-jre in /engine [\#1307](https://github.com/SeldonIO/seldon-core/pull/1307) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Outlier example [\#1306](https://github.com/SeldonIO/seldon-core/pull/1306) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add logger to graph types [\#1305](https://github.com/SeldonIO/seldon-core/pull/1305) ([cliveseldon](https://github.com/cliveseldon))
+- Update mypy requirement from \<0.751 to \<0.762 in /python [\#1304](https://github.com/SeldonIO/seldon-core/pull/1304) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Make seldon-core-operator work with helm2 [\#1300](https://github.com/SeldonIO/seldon-core/pull/1300) ([cliveseldon](https://github.com/cliveseldon))
+- use newer certmanager [\#1298](https://github.com/SeldonIO/seldon-core/pull/1298) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Clean up duplicated code for types and webhooks [\#1296](https://github.com/SeldonIO/seldon-core/pull/1296) ([cliveseldon](https://github.com/cliveseldon))
+- update "income classifier and Alibi anchor explainer" to use "fetch\_adult" [\#1287](https://github.com/SeldonIO/seldon-core/pull/1287) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fixed Seldon golang package [\#1246](https://github.com/SeldonIO/seldon-core/pull/1246) ([hemantkashniyal](https://github.com/hemantkashniyal))
+
+
+
+[Changes][v1.0.1]
+
+
+
+## [v1.0.0](https://github.com/SeldonIO/seldon-core/releases/tag/v1.0.0) - 18 Dec 2019
+
+# Changelog
+
+## [v1.0.0](https://github.com/seldonio/seldon-core/tree/v1.0.0) (2019-12-18)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v0.5.1...v1.0.0)
+
+**Fixed bugs:**
+
+- Certificate not added for all CRD versions in helm chart [\#1275](https://github.com/SeldonIO/seldon-core/issues/1275)
+- Webhook not updated for multi version handling [\#1274](https://github.com/SeldonIO/seldon-core/issues/1274)
+- Ambassador 404s on Canary Test [\#1271](https://github.com/SeldonIO/seldon-core/issues/1271)
+- Delete hpaSepc in seldon deployment doesn't delete the hpa object [\#1263](https://github.com/SeldonIO/seldon-core/issues/1263)
+- CVE-2019-5482 and CVE-2019-18224 [\#1261](https://github.com/SeldonIO/seldon-core/issues/1261)
+- ambassador version [\#1260](https://github.com/SeldonIO/seldon-core/issues/1260)
+- No module named 'tensorflow.examples.tutorials' with tensorflow 2.0 [\#1248](https://github.com/SeldonIO/seldon-core/issues/1248)
+- SeldonDeployment stuck on creating when an environment variable is a reference [\#1211](https://github.com/SeldonIO/seldon-core/issues/1211)
+- cat.json missing from Explainer notebook [\#1178](https://github.com/SeldonIO/seldon-core/issues/1178)
+- Analytics charts broken in K8s v1.16 [\#1176](https://github.com/SeldonIO/seldon-core/issues/1176)
+- Helm install issues on k8s 1.16.2 [\#1095](https://github.com/SeldonIO/seldon-core/issues/1095)
+- Model initializer does not work with S3 [\#885](https://github.com/SeldonIO/seldon-core/issues/885)
+
+**Closed issues:**
+
+- Namespace operator e2e tests [\#1281](https://github.com/SeldonIO/seldon-core/issues/1281)
+- Istio integration requires sidecar injection [\#1273](https://github.com/SeldonIO/seldon-core/issues/1273)
+- Serialization exception when using the internal prediction API endpoint [\#1241](https://github.com/SeldonIO/seldon-core/issues/1241)
+- seldon-core 1.0 release prep [\#1239](https://github.com/SeldonIO/seldon-core/issues/1239)
+- Webhook Selectors only available in k8s \>= 1.15 [\#1233](https://github.com/SeldonIO/seldon-core/issues/1233)
+- duplication of seldon\_core\_setup notebook [\#1232](https://github.com/SeldonIO/seldon-core/issues/1232)
+- crd issue on 1.16 [\#1225](https://github.com/SeldonIO/seldon-core/issues/1225)
+- Centralised logging not working on k8s 1.16 and helm 3 [\#1224](https://github.com/SeldonIO/seldon-core/issues/1224)
+- Port binding in Java wrapper clashes with the engine [\#1223](https://github.com/SeldonIO/seldon-core/issues/1223)
+- uuids in request logs [\#1209](https://github.com/SeldonIO/seldon-core/issues/1209)
+- User "system:serviceaccount:kubeflow:pipeline-runner" cannot create resource "seldondeployments" [\#1205](https://github.com/SeldonIO/seldon-core/issues/1205)
+- Add PR comment for build pipeline [\#1200](https://github.com/SeldonIO/seldon-core/issues/1200)
+- Fix docs install reference to 0.5.0 [\#1196](https://github.com/SeldonIO/seldon-core/issues/1196)
+- Unschedulable: pod has unbound immediate PersistentVolumeClaims [\#1191](https://github.com/SeldonIO/seldon-core/issues/1191)
+- Text batch data is not split into multiple requests by request logger [\#1189](https://github.com/SeldonIO/seldon-core/issues/1189)
+- latest snapshot not working in GKE [\#1173](https://github.com/SeldonIO/seldon-core/issues/1173)
+- local e2e don't build operator image [\#1171](https://github.com/SeldonIO/seldon-core/issues/1171)
+- e2e tests broken in master [\#1164](https://github.com/SeldonIO/seldon-core/issues/1164)
+- Move Go wrapper to incubating [\#1157](https://github.com/SeldonIO/seldon-core/issues/1157)
+- Update examples in line with Helm v3 [\#1154](https://github.com/SeldonIO/seldon-core/issues/1154)
+- Update Install docs in line with Helm v3 [\#1153](https://github.com/SeldonIO/seldon-core/issues/1153)
+- Add triage label to new issues [\#1152](https://github.com/SeldonIO/seldon-core/issues/1152)
+- add prepackaged model server pvc example [\#1150](https://github.com/SeldonIO/seldon-core/issues/1150)
+- running end to end tests on local machine [\#1147](https://github.com/SeldonIO/seldon-core/issues/1147)
+- Can we attach pvc to model-initializer\(storage-initializer\) ? [\#1146](https://github.com/SeldonIO/seldon-core/issues/1146)
+- Standardise Data Mappings in Seldon Wrapper [\#1145](https://github.com/SeldonIO/seldon-core/issues/1145)
+- Wrong types in Seldon Core user methods [\#1144](https://github.com/SeldonIO/seldon-core/issues/1144)
+- Create operator client-set [\#1141](https://github.com/SeldonIO/seldon-core/issues/1141)
+- Investigate impact of helm v3 in seldon-core [\#1140](https://github.com/SeldonIO/seldon-core/issues/1140)
+- Seldon Core Operator Restricted to Single Namespace [\#1139](https://github.com/SeldonIO/seldon-core/issues/1139)
+- Need to update integration test script with helm 3.0 version [\#1138](https://github.com/SeldonIO/seldon-core/issues/1138)
+- Can not control retry\_policy from SeldonDeployment yaml file [\#1137](https://github.com/SeldonIO/seldon-core/issues/1137)
+- \[Improvement\] Obscure service name when deploy my yaml [\#1128](https://github.com/SeldonIO/seldon-core/issues/1128)
+- Jenkins X currently creates a new changelog tag / version every time a PR is landed [\#1124](https://github.com/SeldonIO/seldon-core/issues/1124)
+- strData requests are not printed by seldon request logger [\#1121](https://github.com/SeldonIO/seldon-core/issues/1121)
+- adding canary, shadow or explainer shouldn't affect main predictor [\#1110](https://github.com/SeldonIO/seldon-core/issues/1110)
+- Unable to mount model from PVC into tf serving prepackaged model server [\#1106](https://github.com/SeldonIO/seldon-core/issues/1106)
+- Remove Travis Integration [\#1105](https://github.com/SeldonIO/seldon-core/issues/1105)
+- Move CRD to v1 [\#1100](https://github.com/SeldonIO/seldon-core/issues/1100)
+- Upgrade Maven and JDK on CI image [\#1094](https://github.com/SeldonIO/seldon-core/issues/1094)
+- Fix sporadic failures with e2e tests [\#1084](https://github.com/SeldonIO/seldon-core/issues/1084)
+- Inconsistent return value for explain method in SeldonClient [\#1083](https://github.com/SeldonIO/seldon-core/issues/1083)
+- Refactoring handling httpResponse in Java Engine [\#1075](https://github.com/SeldonIO/seldon-core/issues/1075)
+- following tutorial got 503 [\#1073](https://github.com/SeldonIO/seldon-core/issues/1073)
+- Validation fails if componentSpecs.metadata.creationTimestamp is not specified [\#1061](https://github.com/SeldonIO/seldon-core/issues/1061)
+- Move non 1.0 components to incubating folders [\#990](https://github.com/SeldonIO/seldon-core/issues/990)
+- Improve PrePackaged Model Servers [\#959](https://github.com/SeldonIO/seldon-core/issues/959)
+- use fixed version for model initialiser image [\#957](https://github.com/SeldonIO/seldon-core/issues/957)
+- Helm Upgrade Process [\#890](https://github.com/SeldonIO/seldon-core/issues/890)
+- Dynamic Engine version support at Seldon operator [\#871](https://github.com/SeldonIO/seldon-core/issues/871)
+- Integrate GPU Seldon Core Image into Build Scripts [\#868](https://github.com/SeldonIO/seldon-core/issues/868)
+- Custom prepackaged model servers [\#857](https://github.com/SeldonIO/seldon-core/issues/857)
+- Feature request: Python Seldon Client: support sending gRPC data with `meta` field [\#821](https://github.com/SeldonIO/seldon-core/issues/821)
+- Allow access to puid within the predict API [\#795](https://github.com/SeldonIO/seldon-core/issues/795)
+- Installing seldon-core-operator requires clusterwide RBAC and should be installed by a cluster admin [\#670](https://github.com/SeldonIO/seldon-core/issues/670)
+- Update notebooks to refer to seldon install rather than include code [\#646](https://github.com/SeldonIO/seldon-core/issues/646)
+
+**Merged pull requests:**
+
+- fix shadow idx issue [\#1292](https://github.com/SeldonIO/seldon-core/pull/1292) ([cliveseldon](https://github.com/cliveseldon))
+- Add missing patch [\#1290](https://github.com/SeldonIO/seldon-core/pull/1290) ([cliveseldon](https://github.com/cliveseldon))
+- Bump tensorflow from 1.13.1 to 1.15.0 in /components/outlier-detection/vae [\#1285](https://github.com/SeldonIO/seldon-core/pull/1285) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Update Ambassador docs [\#1280](https://github.com/SeldonIO/seldon-core/pull/1280) ([cliveseldon](https://github.com/cliveseldon))
+- Added dependencies for pytest to avoid second level dependency breaking updates [\#1279](https://github.com/SeldonIO/seldon-core/pull/1279) ([axsaucedo](https://github.com/axsaucedo))
+- Fix webhook rbac and add istio tests [\#1276](https://github.com/SeldonIO/seldon-core/pull/1276) ([cliveseldon](https://github.com/cliveseldon))
+- Fix Ambassador weights and HPA deletion [\#1272](https://github.com/SeldonIO/seldon-core/pull/1272) ([cliveseldon](https://github.com/cliveseldon))
+- Update MLflow notebook [\#1267](https://github.com/SeldonIO/seldon-core/pull/1267) ([adriangonz](https://github.com/adriangonz))
+- fix "income classifier and Alibi anchor explainer" example [\#1266](https://github.com/SeldonIO/seldon-core/pull/1266) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Update JDK to 11.0.5 and remove curl [\#1264](https://github.com/SeldonIO/seldon-core/pull/1264) ([adriangonz](https://github.com/adriangonz))
+- Updated AWS Install to Helm 3 [\#1259](https://github.com/SeldonIO/seldon-core/pull/1259) ([JoelH96](https://github.com/JoelH96))
+- Clientset for seldon operator [\#1258](https://github.com/SeldonIO/seldon-core/pull/1258) ([SachinVarghese](https://github.com/SachinVarghese))
+- remove duplication of seldon\_core\_setup.ipynb notebook, closes \[#1232](https://github.com/SeldonIO/seldon-core/issues/1232) [\#1255](https://github.com/SeldonIO/seldon-core/pull/1255) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Specify seldon namespace in Tensorflow MNIST Model example [\#1254](https://github.com/SeldonIO/seldon-core/pull/1254) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Fix deployment ready bug [\#1253](https://github.com/SeldonIO/seldon-core/pull/1253) ([cliveseldon](https://github.com/cliveseldon))
+- Added rafal to OWNERS file [\#1252](https://github.com/SeldonIO/seldon-core/pull/1252) ([axsaucedo](https://github.com/axsaucedo))
+- enforce tensorflow\<2.0 in Tensorflow MNIST Model example [\#1251](https://github.com/SeldonIO/seldon-core/pull/1251) ([RafalSkolasinski](https://github.com/RafalSkolasinski))
+- Add issue templates [\#1244](https://github.com/SeldonIO/seldon-core/pull/1244) ([adriangonz](https://github.com/adriangonz))
+- Revert "Clientset for seldon operator" [\#1240](https://github.com/SeldonIO/seldon-core/pull/1240) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Adding a way to pass extra index urls to s2i python wrappers [\#1238](https://github.com/SeldonIO/seldon-core/pull/1238) ([nav13n](https://github.com/nav13n))
+- Fix webhook selector k8s version [\#1237](https://github.com/SeldonIO/seldon-core/pull/1237) ([cliveseldon](https://github.com/cliveseldon))
+- Bumped version to 0.2 for Java wrapper [\#1234](https://github.com/SeldonIO/seldon-core/pull/1234) ([axsaucedo](https://github.com/axsaucedo))
+- Core builder update to 0.8 [\#1231](https://github.com/SeldonIO/seldon-core/pull/1231) ([gsunner](https://github.com/gsunner))
+- Add versions v1 and v1alpha3 to CRD [\#1229](https://github.com/SeldonIO/seldon-core/pull/1229) ([adriangonz](https://github.com/adriangonz))
+- Update centralised logging to work with k8s 1.16 and Helm 3 [\#1228](https://github.com/SeldonIO/seldon-core/pull/1228) ([cliveseldon](https://github.com/cliveseldon))
+- Changed secondary unit port and provided an option to modify it [\#1227](https://github.com/SeldonIO/seldon-core/pull/1227) ([axsaucedo](https://github.com/axsaucedo))
+- Clientset for seldon operator [\#1221](https://github.com/SeldonIO/seldon-core/pull/1221) ([SachinVarghese](https://github.com/SachinVarghese))
+- move go wrapper to incubating [\#1220](https://github.com/SeldonIO/seldon-core/pull/1220) ([gsunner](https://github.com/gsunner))
+- add strdata example to request logger examples [\#1219](https://github.com/SeldonIO/seldon-core/pull/1219) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- remove bits commited by mistake [\#1218](https://github.com/SeldonIO/seldon-core/pull/1218) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Bump client-java-proto from 6.0.1 to 7.0.0 in /engine [\#1217](https://github.com/SeldonIO/seldon-core/pull/1217) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pb.version from 3.10.0 to 3.11.1 in /engine [\#1216](https://github.com/SeldonIO/seldon-core/pull/1216) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Add missing GA doc [\#1215](https://github.com/SeldonIO/seldon-core/pull/1215) ([cliveseldon](https://github.com/cliveseldon))
+- Fix defaulting by api-server differences [\#1214](https://github.com/SeldonIO/seldon-core/pull/1214) ([cliveseldon](https://github.com/cliveseldon))
+- install instructions clearer for web too [\#1213](https://github.com/SeldonIO/seldon-core/pull/1213) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Revert "1141 Create operator clientset" [\#1202](https://github.com/SeldonIO/seldon-core/pull/1202) ([glindsell](https://github.com/glindsell))
+- Add PR build message to integration tests run [\#1201](https://github.com/SeldonIO/seldon-core/pull/1201) ([gsunner](https://github.com/gsunner))
+- add pr build comment [\#1199](https://github.com/SeldonIO/seldon-core/pull/1199) ([gsunner](https://github.com/gsunner))
+- add sachin to owners [\#1195](https://github.com/SeldonIO/seldon-core/pull/1195) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- update logger version [\#1193](https://github.com/SeldonIO/seldon-core/pull/1193) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Splitting request logger data for text types [\#1192](https://github.com/SeldonIO/seldon-core/pull/1192) ([SachinVarghese](https://github.com/SachinVarghese))
+- 1141 Create operator clientset [\#1190](https://github.com/SeldonIO/seldon-core/pull/1190) ([glindsell](https://github.com/glindsell))
+- \[#1154](https://github.com/SeldonIO/seldon-core/issues/1154) Update examples notebooks in line with Helm v3 [\#1188](https://github.com/SeldonIO/seldon-core/pull/1188) ([glindsell](https://github.com/glindsell))
+- 646 notebooks install [\#1187](https://github.com/SeldonIO/seldon-core/pull/1187) ([glindsell](https://github.com/glindsell))
+- 1138 helm3 integration tests [\#1186](https://github.com/SeldonIO/seldon-core/pull/1186) ([glindsell](https://github.com/glindsell))
+- note on configuring prepack server images [\#1185](https://github.com/SeldonIO/seldon-core/pull/1185) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- note on pvc [\#1184](https://github.com/SeldonIO/seldon-core/pull/1184) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- minimize rolling updates to main predictor [\#1183](https://github.com/SeldonIO/seldon-core/pull/1183) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Adding AWS Marketplace Install page to docs site [\#1182](https://github.com/SeldonIO/seldon-core/pull/1182) ([JoelH96](https://github.com/JoelH96))
+- Option to return proto OR dict for SeldonClient methods [\#1175](https://github.com/SeldonIO/seldon-core/pull/1175) ([axsaucedo](https://github.com/axsaucedo))
+- Functionality for model wrapper to return JSON on any Dict return [\#1174](https://github.com/SeldonIO/seldon-core/pull/1174) ([axsaucedo](https://github.com/axsaucedo))
+- build operator image when running e2e locally [\#1172](https://github.com/SeldonIO/seldon-core/pull/1172) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update mypy requirement from \<=0.740 to \<0.751 in /python [\#1170](https://github.com/SeldonIO/seldon-core/pull/1170) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- change annotation location [\#1166](https://github.com/SeldonIO/seldon-core/pull/1166) ([RajeshHegde](https://github.com/RajeshHegde))
+- fix master e2e tests [\#1163](https://github.com/SeldonIO/seldon-core/pull/1163) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Adding overrides to remove step that creates tag for Jenkins X pipeline [\#1161](https://github.com/SeldonIO/seldon-core/pull/1161) ([axsaucedo](https://github.com/axsaucedo))
+- Updated s2i Dockerfiles to build using requirements.txt [\#1160](https://github.com/SeldonIO/seldon-core/pull/1160) ([JoelH96](https://github.com/JoelH96))
+- \[#1153](https://github.com/SeldonIO/seldon-core/issues/1153) Update install docs to Helm v3 [\#1159](https://github.com/SeldonIO/seldon-core/pull/1159) ([glindsell](https://github.com/glindsell))
+- Fixing wrong types in Seldon Core user methods \[#1144](https://github.com/SeldonIO/seldon-core/issues/1144) [\#1158](https://github.com/SeldonIO/seldon-core/pull/1158) ([axsaucedo](https://github.com/axsaucedo))
+- Namespaced Operator [\#1142](https://github.com/SeldonIO/seldon-core/pull/1142) ([cliveseldon](https://github.com/cliveseldon))
+- Add comment on removal of volume patch [\#1136](https://github.com/SeldonIO/seldon-core/pull/1136) ([cliveseldon](https://github.com/cliveseldon))
+- Bump ojalgo from 47.3.1 to 48.0.0 in /engine [\#1133](https://github.com/SeldonIO/seldon-core/pull/1133) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Add integration test to verify non200 response handling [\#1132](https://github.com/SeldonIO/seldon-core/pull/1132) ([lennon310](https://github.com/lennon310))
+- Python reference typo instead of java [\#1131](https://github.com/SeldonIO/seldon-core/pull/1131) ([thomas-lohh](https://github.com/thomas-lohh))
+- Fix typo in logging.error [\#1130](https://github.com/SeldonIO/seldon-core/pull/1130) ([ellisvalentiner](https://github.com/ellisvalentiner))
+- custom\_metrics.md : Fix typo, make text clearer, fix JSON [\#1127](https://github.com/SeldonIO/seldon-core/pull/1127) ([peter-vandenabeele-axa](https://github.com/peter-vandenabeele-axa))
+- Fix typo and make text a bit clearer [\#1126](https://github.com/SeldonIO/seldon-core/pull/1126) ([peter-vandenabeele-axa](https://github.com/peter-vandenabeele-axa))
+- configurable prepack images [\#1118](https://github.com/SeldonIO/seldon-core/pull/1118) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update API from v0.1 to v1.0 [\#1103](https://github.com/SeldonIO/seldon-core/pull/1103) ([cliveseldon](https://github.com/cliveseldon))
+- Allow meta tags to be provided in seldon\_client [\#1096](https://github.com/SeldonIO/seldon-core/pull/1096) ([cliveseldon](https://github.com/cliveseldon))
+- Integrating Python GPU Wrapper into build scripts [\#1074](https://github.com/SeldonIO/seldon-core/pull/1074) ([JoelH96](https://github.com/JoelH96))
+
+
+[Changes][v1.0.0]
+
+
+
+## [v0.5.1](https://github.com/SeldonIO/seldon-core/releases/tag/v0.5.1) - 21 Nov 2019
+
+# Changelog
+
+## [v0.5.1](https://github.com/seldonio/seldon-core/tree/v0.5.1) (2019-11-21)
+
+[Full Changelog](https://github.com/seldonio/seldon-core/compare/v0.5.0...v0.5.1)
+
+**Fixed bugs:**
+
+- Operator crash if one container in pod not created properly [\#1104](https://github.com/SeldonIO/seldon-core/issues/1104)
+- MLFLOW\_SERVER ModuleNotFoundError [\#828](https://github.com/SeldonIO/seldon-core/issues/828)
+
+**Security fixes:**
+
+- \[Security\] Bump pillow from 6.0.0 to 6.2.0 in /python [\#1062](https://github.com/SeldonIO/seldon-core/pull/1062) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+
+**Closed issues:**
+
+- Engine using separate pod, ignoring annotations [\#1120](https://github.com/SeldonIO/seldon-core/issues/1120)
+- How to pass ModelInitializerContainerImage path [\#1116](https://github.com/SeldonIO/seldon-core/issues/1116)
+- how to define MyModel for PyTorch model which has more than one arguments? [\#1115](https://github.com/SeldonIO/seldon-core/issues/1115)
+- how can I wrap a PyTorch Image with customed network? [\#1114](https://github.com/SeldonIO/seldon-core/issues/1114)
+- Seldon AB testing - getting an error "info": "Parameter 'ratioA' is missing." [\#1081](https://github.com/SeldonIO/seldon-core/issues/1081)
+- remove old CRD generation [\#1079](https://github.com/SeldonIO/seldon-core/issues/1079)
+- Broken integration tests [\#1076](https://github.com/SeldonIO/seldon-core/issues/1076)
+- Cannot create a SeldonDeployment having volumes of type projected and configMap. [\#1072](https://github.com/SeldonIO/seldon-core/issues/1072)
+- DOCKER\_IMAGE\_VERSION in Makefile is only 0.3 and 0.4; public docker images go up to 0.13 [\#1071](https://github.com/SeldonIO/seldon-core/issues/1071)
+- SeldonDeployment modelUri support more protocol [\#1070](https://github.com/SeldonIO/seldon-core/issues/1070)
+- Your .dependabot/config.yml contained invalid details [\#1045](https://github.com/SeldonIO/seldon-core/issues/1045)
+- Add tox [\#1042](https://github.com/SeldonIO/seldon-core/issues/1042)
+- Broken imports on 0.5.0.2 release [\#1040](https://github.com/SeldonIO/seldon-core/issues/1040)
+- Improve speed of execution for integration tests [\#1032](https://github.com/SeldonIO/seldon-core/issues/1032)
+- Integration tests fail intermittently [\#1031](https://github.com/SeldonIO/seldon-core/issues/1031)
+- Major version changes on dependencies could cause issues [\#1029](https://github.com/SeldonIO/seldon-core/issues/1029)
+- with the latest release of azure-storage-blob 12.0.0, seldon build fails [\#1027](https://github.com/SeldonIO/seldon-core/issues/1027)
+- Extend documentation to include optional dependencies and azure blob quickfix [\#1025](https://github.com/SeldonIO/seldon-core/issues/1025)
+- Update release.py script to change version in kustomization.yaml [\#1024](https://github.com/SeldonIO/seldon-core/issues/1024)
+- Set upper limit for azure-storage-blob version [\#1023](https://github.com/SeldonIO/seldon-core/issues/1023)
+- Make GCS support optional [\#1018](https://github.com/SeldonIO/seldon-core/issues/1018)
+- Update Talks/Blogs/Videos/Use cases in Docs [\#1017](https://github.com/SeldonIO/seldon-core/issues/1017)
+- No available release name found for Seldon-Core-Operator [\#1014](https://github.com/SeldonIO/seldon-core/issues/1014)
+- Move API path from v0.1 to v1.0 [\#991](https://github.com/SeldonIO/seldon-core/issues/991)
+- Fully automate CI/CD process and introduce manual trigger for release process [\#986](https://github.com/SeldonIO/seldon-core/issues/986)
+- Use official Helm charts for Grafana and Prometheus [\#965](https://github.com/SeldonIO/seldon-core/issues/965)
+- Set JSON\_SORT\_KEYS and JSONIFY\_PRETTYPRINT\_REGULAR to False by default [\#964](https://github.com/SeldonIO/seldon-core/issues/964)
+- Enable Storage.py to be able to download from HDFS URL [\#963](https://github.com/SeldonIO/seldon-core/issues/963)
+- Fix helm version in Chart.yaml [\#961](https://github.com/SeldonIO/seldon-core/issues/961)
+- Modify engine's Proto Value to JSON conversion to avoid int-to-float conversions in REST requests [\#948](https://github.com/SeldonIO/seldon-core/issues/948)
+- Code style standardisation for Seldon Core Python modules [\#947](https://github.com/SeldonIO/seldon-core/issues/947)
+- Automated Test and Build Hooks [\#933](https://github.com/SeldonIO/seldon-core/issues/933)
+- Seldon Image at "seldonio/seldon-core-s2i-python3-tf-gpu:0.12-SNAPSHOT" not able to find GPU devices [\#914](https://github.com/SeldonIO/seldon-core/issues/914)
+- Update Java dependencies [\#902](https://github.com/SeldonIO/seldon-core/issues/902)
+- Create 1.0 GA Document [\#887](https://github.com/SeldonIO/seldon-core/issues/887)
+- Enable Storage.py to be able to download from URL file [\#883](https://github.com/SeldonIO/seldon-core/issues/883)
+- Seldon container engine has not resource limit [\#769](https://github.com/SeldonIO/seldon-core/issues/769)
+- Shadow deployment for Istio [\#741](https://github.com/SeldonIO/seldon-core/issues/741)
+- Java Seldon Engine doesn't pass microservice HTTP exceptions upstream [\#705](https://github.com/SeldonIO/seldon-core/issues/705)
+- Feature\_names is redundant when using jsonData in predict. Also meta is redundant in response, as meta can be combined in the jsonData. [\#665](https://github.com/SeldonIO/seldon-core/issues/665)
+- Modify helm chart seldon-core-analytics using chart dependencies [\#613](https://github.com/SeldonIO/seldon-core/issues/613)
+- Update Python SeldonClient to handle JSON payloads [\#607](https://github.com/SeldonIO/seldon-core/issues/607)
+- expand contributing guide [\#569](https://github.com/SeldonIO/seldon-core/issues/569)
+- requirements.txt for Python wrapped models should be a configurable name/path [\#548](https://github.com/SeldonIO/seldon-core/issues/548)
+- Docker Image is too Big [\#526](https://github.com/SeldonIO/seldon-core/issues/526)
+- Deployment of seldon as a new custom resource via fabric8 [\#486](https://github.com/SeldonIO/seldon-core/issues/486)
+- Update developer docs [\#203](https://github.com/SeldonIO/seldon-core/issues/203)
+
+**Merged pull requests:**
+
+- add mnt pvc path to container [\#1123](https://github.com/SeldonIO/seldon-core/pull/1123) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update MLflow notebook [\#1122](https://github.com/SeldonIO/seldon-core/pull/1122) ([adriangonz](https://github.com/adriangonz))
+- handle http status code error [\#1117](https://github.com/SeldonIO/seldon-core/pull/1117) ([lennon310](https://github.com/lennon310))
+- Bump license-maven-plugin from 1.13 to 1.20 in /engine [\#1113](https://github.com/SeldonIO/seldon-core/pull/1113) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- make initializer configurable via configmap [\#1112](https://github.com/SeldonIO/seldon-core/pull/1112) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Conda environment on MLFLOW\_SERVER [\#1108](https://github.com/SeldonIO/seldon-core/pull/1108) ([adriangonz](https://github.com/adriangonz))
+- don't use service that we chose not to create [\#1107](https://github.com/SeldonIO/seldon-core/pull/1107) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- istio shadowing [\#1102](https://github.com/SeldonIO/seldon-core/pull/1102) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add GA Doc [\#1101](https://github.com/SeldonIO/seldon-core/pull/1101) ([cliveseldon](https://github.com/cliveseldon))
+- Move non python s2i to incubating [\#1099](https://github.com/SeldonIO/seldon-core/pull/1099) ([cliveseldon](https://github.com/cliveseldon))
+- Avoid int-to-float conversions [\#1098](https://github.com/SeldonIO/seldon-core/pull/1098) ([adriangonz](https://github.com/adriangonz))
+- Remove old crd generation scripts [\#1097](https://github.com/SeldonIO/seldon-core/pull/1097) ([cliveseldon](https://github.com/cliveseldon))
+- 986 build and push images [\#1093](https://github.com/SeldonIO/seldon-core/pull/1093) ([axsaucedo](https://github.com/axsaucedo))
+- Bump pb.version from 3.9.2 to 3.10.0 in /engine [\#1091](https://github.com/SeldonIO/seldon-core/pull/1091) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update gunicorn requirement from \<19.10.0,\>=19.9.0 to \>=19.9.0,… [\#1089](https://github.com/SeldonIO/seldon-core/pull/1089) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Improve speed of execution for integration tests [\#1086](https://github.com/SeldonIO/seldon-core/pull/1086) ([axsaucedo](https://github.com/axsaucedo))
+- Update Python SeldonClient to handle JSON payloads [\#1082](https://github.com/SeldonIO/seldon-core/pull/1082) ([axsaucedo](https://github.com/axsaucedo))
+- add update of operator version to release script [\#1080](https://github.com/SeldonIO/seldon-core/pull/1080) ([gsunner](https://github.com/gsunner))
+- Fix integration tests [\#1077](https://github.com/SeldonIO/seldon-core/pull/1077) ([adriangonz](https://github.com/adriangonz))
+- Temporary fix for kubernetes OpenAPISchema Issue [\#1069](https://github.com/SeldonIO/seldon-core/pull/1069) ([cliveseldon](https://github.com/cliveseldon))
+- Reduce some dependabot noise [\#1068](https://github.com/SeldonIO/seldon-core/pull/1068) ([adriangonz](https://github.com/adriangonz))
+- Bump protobuf-maven-plugin from 0.5.0 to 0.6.1 in /engine [\#1066](https://github.com/SeldonIO/seldon-core/pull/1066) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump grpc.version from 1.24.0 to 1.25.0 in /engine [\#1065](https://github.com/SeldonIO/seldon-core/pull/1065) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump jacoco-maven-plugin from 0.8.2 to 0.8.5 in /engine [\#1063](https://github.com/SeldonIO/seldon-core/pull/1063) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump pandas from 0.23.4 to 0.25.3 in /python [\#1057](https://github.com/SeldonIO/seldon-core/pull/1057) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump os-maven-plugin from 1.4.1.Final to 1.6.2 in /engine [\#1056](https://github.com/SeldonIO/seldon-core/pull/1056) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Update redis requirement from \<3.0.0 to \<4.0.0 in /python [\#1053](https://github.com/SeldonIO/seldon-core/pull/1053) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump maven-compiler-plugin from 3.5.1 to 3.8.1 in /engine [\#1052](https://github.com/SeldonIO/seldon-core/pull/1052) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Bump httpclient from 4.5.8 to 4.5.10 in /engine [\#1050](https://github.com/SeldonIO/seldon-core/pull/1050) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
+- Document optional dependencies [\#1047](https://github.com/SeldonIO/seldon-core/pull/1047) ([adriangonz](https://github.com/adriangonz))
+- Update to explainers for Seldon Core [\#1046](https://github.com/SeldonIO/seldon-core/pull/1046) ([cliveseldon](https://github.com/cliveseldon))
+- Fix dependabot config [\#1044](https://github.com/SeldonIO/seldon-core/pull/1044) ([adriangonz](https://github.com/adriangonz))
+- Add tox [\#1043](https://github.com/SeldonIO/seldon-core/pull/1043) ([adriangonz](https://github.com/adriangonz))
+- Dependabot config [\#1041](https://github.com/SeldonIO/seldon-core/pull/1041) ([adriangonz](https://github.com/adriangonz))
+- Add missing files to MANIFEST.in [\#1039](https://github.com/SeldonIO/seldon-core/pull/1039) ([adriangonz](https://github.com/adriangonz))
+- Seldon Components Usage Examples [\#1036](https://github.com/SeldonIO/seldon-core/pull/1036) ([SandhyaaGopchandani](https://github.com/SandhyaaGopchandani))
+- Updated precommit hook to align to the lint checker [\#1035](https://github.com/SeldonIO/seldon-core/pull/1035) ([axsaucedo](https://github.com/axsaucedo))
+- Evaluating and fixing intermittent test failing in e2e integration tests [\#1034](https://github.com/SeldonIO/seldon-core/pull/1034) ([axsaucedo](https://github.com/axsaucedo))
+- Adding max constraint on major versions [\#1033](https://github.com/SeldonIO/seldon-core/pull/1033) ([axsaucedo](https://github.com/axsaucedo))
+- Allow modification of flask app configs [\#1030](https://github.com/SeldonIO/seldon-core/pull/1030) ([kparaju](https://github.com/kparaju))
+- Add /health/ping and /health/status endpoint to Python REST Microservices [\#1026](https://github.com/SeldonIO/seldon-core/pull/1026) ([kparaju](https://github.com/kparaju))
+- Make GCS optional [\#1019](https://github.com/SeldonIO/seldon-core/pull/1019) ([adriangonz](https://github.com/adriangonz))
+- Updated GPU wrapper to uninstall TF without GPU [\#1011](https://github.com/SeldonIO/seldon-core/pull/1011) ([JoelH96](https://github.com/JoelH96))
+
+
+[Changes][v0.5.1]
+
+
+
+## [v0.5.0](https://github.com/SeldonIO/seldon-core/releases/tag/v0.5.0) - 01 Nov 2019
+
+## [v0.5.0](https://github.com/seldonio/seldon-core/tree/v0.5.0) (2019-11-01)
+
+**Closed issues:**
+
+- Update logback [\#1007](https://github.com/SeldonIO/seldon-core/issues/1007)
+- seldon-core-operator fails to install on Kubernetes 1.16 [\#1004](https://github.com/SeldonIO/seldon-core/issues/1004)
+- Custom error raised in Python model was not passed back to the client [\#974](https://github.com/SeldonIO/seldon-core/issues/974)
+- Models with multiple input types are not supported [\#921](https://github.com/SeldonIO/seldon-core/issues/921)
+
+**Merged pull requests:**
+
+- Removed the hash as it was crashing the command when the pipeline was ran [\#1022](https://github.com/SeldonIO/seldon-core/pull/1022) ([axsaucedo](https://github.com/axsaucedo))
+- Add pre-commit hook for black and fix linter [\#1020](https://github.com/SeldonIO/seldon-core/pull/1020) ([adriangonz](https://github.com/adriangonz))
+- Added documentation on how to support Models with multiple input types in python wrapper [\#1015](https://github.com/SeldonIO/seldon-core/pull/1015) ([axsaucedo](https://github.com/axsaucedo))
+- Move from logback to log4j2 [\#1008](https://github.com/SeldonIO/seldon-core/pull/1008) ([adriangonz](https://github.com/adriangonz))
+- Adding functionality for running e2e tests in Jenkins X [\#994](https://github.com/SeldonIO/seldon-core/pull/994) ([axsaucedo](https://github.com/axsaucedo))
+
+
+[Changes][v0.5.0]
+
+
+
+## [v0.4.1](https://github.com/SeldonIO/seldon-core/releases/tag/v0.4.1) - 19 Sep 2019
+
+## [v0.4.1](https://github.com/SeldonIO/seldon-core/tree/v0.4.1) (2019-09-19)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.4.0...v0.4.1)
+
+**Implemented enhancements:**
+
+- Investigate Edge/IOT deployments [\#414](https://github.com/SeldonIO/seldon-core/issues/414)
+- NVIDIA Rapids Integration [\#412](https://github.com/SeldonIO/seldon-core/issues/412)
+- Investigate Apache Arrow and Plasma for fast IPC [\#206](https://github.com/SeldonIO/seldon-core/issues/206)
+- Explore creation of a "batching" transformer [\#107](https://github.com/SeldonIO/seldon-core/issues/107)
+
+**Fixed bugs:**
+
+- Unresolved variable in python utils [\#834](https://github.com/SeldonIO/seldon-core/issues/834)
+- Seldon not creating services for NVIDIA TRT Deployment [\#826](https://github.com/SeldonIO/seldon-core/issues/826)
+- Autoscaling not working [\#824](https://github.com/SeldonIO/seldon-core/issues/824)
+- seldon-core-analytics grafana shows metrics of only of first canary model [\#618](https://github.com/SeldonIO/seldon-core/issues/618)
+- DNS error in API Gateway for old deployments gRPC [\#262](https://github.com/SeldonIO/seldon-core/issues/262)
+
+**Closed issues:**
+
+- only install knative for request logging if not already present [\#869](https://github.com/SeldonIO/seldon-core/issues/869)
+- Seldon Core deployment created but not visible [\#862](https://github.com/SeldonIO/seldon-core/issues/862)
+- Default values of metrics missing in /feedback API for Python wrapper [\#861](https://github.com/SeldonIO/seldon-core/issues/861)
+- Missing packages on requirements.txt [\#858](https://github.com/SeldonIO/seldon-core/issues/858)
+- Seldon GPU Image with seldon-core 0.4.0 support not available [\#850](https://github.com/SeldonIO/seldon-core/issues/850)
+- How do I override the default port for the flask application that seldon runs ? [\#848](https://github.com/SeldonIO/seldon-core/issues/848)
+- Add documentation for our certified openshift operator [\#845](https://github.com/SeldonIO/seldon-core/issues/845)
+- consume a Secret in a volume in a Pod [\#844](https://github.com/SeldonIO/seldon-core/issues/844)
+- ModelUri is None when parameters specified in the SeldonDeployment [\#838](https://github.com/SeldonIO/seldon-core/issues/838)
+- Meta data field not modifiable by subsequent components [\#829](https://github.com/SeldonIO/seldon-core/issues/829)
+- Cannot disable secure connection to minio storage backend [\#825](https://github.com/SeldonIO/seldon-core/issues/825)
+- How to send data in request with meta field [\#822](https://github.com/SeldonIO/seldon-core/issues/822)
+- Combiner endpoint does not create VirtualService or Endpoint in Istio [\#816](https://github.com/SeldonIO/seldon-core/issues/816)
+- Missing MLFLOW values in crd.yaml for helm chart 0.4.0 [\#811](https://github.com/SeldonIO/seldon-core/issues/811)
+- support ambassador\_id to allow multi-tenancy [\#810](https://github.com/SeldonIO/seldon-core/issues/810)
+- High latency of REST locally [\#803](https://github.com/SeldonIO/seldon-core/issues/803)
+- initContainer resources required for some clusters [\#776](https://github.com/SeldonIO/seldon-core/issues/776)
+- Add versions to the wrapper requirements.txt and make sure they align with setup.py [\#767](https://github.com/SeldonIO/seldon-core/issues/767)
+- "puid" when sent in request is not returned in response from python wrapper service. However in case of external api it is returned as is [\#765](https://github.com/SeldonIO/seldon-core/issues/765)
+- Injecting S3 Credentials into tfserving Container [\#749](https://github.com/SeldonIO/seldon-core/issues/749)
+- \[Bug\] REST request gets parsed to String if any of the element in Numpy array is String [\#745](https://github.com/SeldonIO/seldon-core/issues/745)
+- Long running tasks not working with REST Clients \(CURL, Postman, etc\) [\#742](https://github.com/SeldonIO/seldon-core/issues/742)
+- Ensure JSON format is not modified for ALL the REST APIs \(only implemented for /predict\) [\#739](https://github.com/SeldonIO/seldon-core/issues/739)
+- Add the support to send image files directly using multipart/form-data instead of application/x-www-form-urlencoded [\#733](https://github.com/SeldonIO/seldon-core/issues/733)
+- exception swallowing in seldon-core [\#725](https://github.com/SeldonIO/seldon-core/issues/725)
+- versions for prepackaged model servers [\#724](https://github.com/SeldonIO/seldon-core/issues/724)
+- Prometheus metrics \"INVALID\" is not a valid start token in kubernetes env [\#706](https://github.com/SeldonIO/seldon-core/issues/706)
+- Change NotImplementedError in SeldonMethods for SeldonNotImplementedError [\#700](https://github.com/SeldonIO/seldon-core/issues/700)
+- HttpRetryHandler interrupted exception leads to Microservice error: java.net.SocketTimeoutException: Read timed out \(103\) [\#698](https://github.com/SeldonIO/seldon-core/issues/698)
+- combiner receives struct\_pb2.ListValue instead of numpy list [\#686](https://github.com/SeldonIO/seldon-core/issues/686)
+- explainers for SeldonDeployment graphs [\#685](https://github.com/SeldonIO/seldon-core/issues/685)
+- Deployment with empty oauth key [\#683](https://github.com/SeldonIO/seldon-core/issues/683)
+- Income Classifier Example with Kubeflow [\#676](https://github.com/SeldonIO/seldon-core/issues/676)
+- installing sdep straight after operator seems not fully reliable [\#669](https://github.com/SeldonIO/seldon-core/issues/669)
+- argo workflow not detecting seldon deployment is available [\#668](https://github.com/SeldonIO/seldon-core/issues/668)
+- Set up node taints for GPU Pods/Nodes. [\#648](https://github.com/SeldonIO/seldon-core/issues/648)
+- Update the Python GPU s2i files [\#647](https://github.com/SeldonIO/seldon-core/issues/647)
+- volume mounting kubeflow example [\#637](https://github.com/SeldonIO/seldon-core/issues/637)
+- docs in readthedocs for request logging and CICD [\#636](https://github.com/SeldonIO/seldon-core/issues/636)
+- Seldon GRPC python wrapper doesn't include input/output transformer servicers [\#630](https://github.com/SeldonIO/seldon-core/issues/630)
+- NDArray with values being lists not supported - RESOLVED: Proto lists were not being deep-copied [\#600](https://github.com/SeldonIO/seldon-core/issues/600)
+- Provide a NULL/None type in the CRD [\#554](https://github.com/SeldonIO/seldon-core/issues/554)
+- Support microservice testing via curl with JSON content-type [\#552](https://github.com/SeldonIO/seldon-core/issues/552)
+- Python client - SyntaxError [\#551](https://github.com/SeldonIO/seldon-core/issues/551)
+- Add Prow doc with Public URL for dashboard [\#546](https://github.com/SeldonIO/seldon-core/issues/546)
+- Investigate Request Logging [\#545](https://github.com/SeldonIO/seldon-core/issues/545)
+- Support Kustomize Deployment [\#536](https://github.com/SeldonIO/seldon-core/issues/536)
+- make engine probes configurable [\#525](https://github.com/SeldonIO/seldon-core/issues/525)
+- connect timed out with cluster-manager and api server [\#523](https://github.com/SeldonIO/seldon-core/issues/523)
+- put crd and controller into single helm chart [\#522](https://github.com/SeldonIO/seldon-core/issues/522)
+- Add fastai deployment example [\#518](https://github.com/SeldonIO/seldon-core/issues/518)
+- Deploy model but pod is evicted for many times before running [\#515](https://github.com/SeldonIO/seldon-core/issues/515)
+- How to wrap models using tool chains other than s2i? [\#507](https://github.com/SeldonIO/seldon-core/issues/507)
+- ci-cd demo uses old jenkins and kubectl fails on newer k8s [\#505](https://github.com/SeldonIO/seldon-core/issues/505)
+- Prow Integration - investigate and setup PR presubmit jobs [\#497](https://github.com/SeldonIO/seldon-core/issues/497)
+- Use of protobuffers for resource parsing cause inconsistencies [\#489](https://github.com/SeldonIO/seldon-core/issues/489)
+- option to put prometheus metrics on separate port [\#487](https://github.com/SeldonIO/seldon-core/issues/487)
+- parameterise the namespace in single namespace tests [\#478](https://github.com/SeldonIO/seldon-core/issues/478)
+- use official helm charts [\#476](https://github.com/SeldonIO/seldon-core/issues/476)
+- use recommended labels [\#475](https://github.com/SeldonIO/seldon-core/issues/475)
+- Convert docstrings in serving\_test\_gen.py to Numpy format [\#472](https://github.com/SeldonIO/seldon-core/issues/472)
+- issues on increasing grpc message size [\#467](https://github.com/SeldonIO/seldon-core/issues/467)
+- Create a validating admission webhook for the CRD [\#459](https://github.com/SeldonIO/seldon-core/issues/459)
+- Additional parameter types Seldon deployment proto [\#456](https://github.com/SeldonIO/seldon-core/issues/456)
+- Consider hosting helm charts on stable repo, or at least a chart repository [\#443](https://github.com/SeldonIO/seldon-core/issues/443)
+- Unable to get token [\#438](https://github.com/SeldonIO/seldon-core/issues/438)
+- Update example Keras [\#432](https://github.com/SeldonIO/seldon-core/issues/432)
+- Create protos for metadata returned by components [\#427](https://github.com/SeldonIO/seldon-core/issues/427)
+- Revamp how the engine handles metadata [\#426](https://github.com/SeldonIO/seldon-core/issues/426)
+- seldon-core-s2i-python3 is not "openshift ready" [\#422](https://github.com/SeldonIO/seldon-core/issues/422)
+- Create docs for proto compilation to ease clients in non-python languages [\#421](https://github.com/SeldonIO/seldon-core/issues/421)
+- KNative Integration [\#417](https://github.com/SeldonIO/seldon-core/issues/417)
+- Julia Wrapper [\#413](https://github.com/SeldonIO/seldon-core/issues/413)
+- Kaniko Integration [\#411](https://github.com/SeldonIO/seldon-core/issues/411)
+- gRPC tensorproto, TypeError [\#410](https://github.com/SeldonIO/seldon-core/issues/410)
+- Handle sticky model requests [\#403](https://github.com/SeldonIO/seldon-core/issues/403)
+- Organize docs [\#394](https://github.com/SeldonIO/seldon-core/issues/394)
+- Type annotations for Python code [\#392](https://github.com/SeldonIO/seldon-core/issues/392)
+- Deploy python model without java router [\#314](https://github.com/SeldonIO/seldon-core/issues/314)
+- Implement a hierarchy of tags for components with children. [\#310](https://github.com/SeldonIO/seldon-core/issues/310)
+- FlatBuffers support [\#284](https://github.com/SeldonIO/seldon-core/issues/284)
+- Custom fields in SeldonMessage [\#198](https://github.com/SeldonIO/seldon-core/issues/198)
+- Update CRD to include version [\#175](https://github.com/SeldonIO/seldon-core/issues/175)
+- Add OpenFaas as Deployment option for ServerLess ML deployments [\#151](https://github.com/SeldonIO/seldon-core/issues/151)
+- Can Spartakus be run in a namespace [\#142](https://github.com/SeldonIO/seldon-core/issues/142)
+- Investigate Google Container Builder for wrapping models [\#123](https://github.com/SeldonIO/seldon-core/issues/123)
+- Investigate OpenShift Service Catalog and Brokers [\#114](https://github.com/SeldonIO/seldon-core/issues/114)
+- Change python wrapper to use Tornado instead of Flask [\#108](https://github.com/SeldonIO/seldon-core/issues/108)
+- Add docs to build components in development section [\#65](https://github.com/SeldonIO/seldon-core/issues/65)
+- Clarify oauth key/secret provisioning [\#26](https://github.com/SeldonIO/seldon-core/issues/26)
+- Create a NOTES.txt for the helm chart [\#15](https://github.com/SeldonIO/seldon-core/issues/15)
+
+**Merged pull requests:**
+
+- remove some empty lines [\#875](https://github.com/SeldonIO/seldon-core/pull/875) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Versioning seldon request logger and support for decoding binary strings [\#873](https://github.com/SeldonIO/seldon-core/pull/873) ([SachinVarghese](https://github.com/SachinVarghese))
+- Updates to seldon request logging [\#872](https://github.com/SeldonIO/seldon-core/pull/872) ([SachinVarghese](https://github.com/SachinVarghese))
+- check for knative before installing [\#870](https://github.com/SeldonIO/seldon-core/pull/870) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add initial Makefile for GPU Python Image [\#867](https://github.com/SeldonIO/seldon-core/pull/867) ([cliveseldon](https://github.com/cliveseldon))
+- Changed typo in redhat dockerfile [\#866](https://github.com/SeldonIO/seldon-core/pull/866) ([axsaucedo](https://github.com/axsaucedo))
+- xgboost server version added in docs [\#865](https://github.com/SeldonIO/seldon-core/pull/865) ([gsunner](https://github.com/gsunner))
+- Create explainer notebook and fix tfserving proxy [\#864](https://github.com/SeldonIO/seldon-core/pull/864) ([cliveseldon](https://github.com/cliveseldon))
+- upgrade knative version [\#863](https://github.com/SeldonIO/seldon-core/pull/863) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add missing packages to requirements.txt [\#859](https://github.com/SeldonIO/seldon-core/pull/859) ([adriangonz](https://github.com/adriangonz))
+- add branch release-0.4 to travis builds [\#856](https://github.com/SeldonIO/seldon-core/pull/856) ([gsunner](https://github.com/gsunner))
+- Fix status code handling [\#855](https://github.com/SeldonIO/seldon-core/pull/855) ([dtaniwaki](https://github.com/dtaniwaki))
+- Make debug easier [\#854](https://github.com/SeldonIO/seldon-core/pull/854) ([dtaniwaki](https://github.com/dtaniwaki))
+- ensure script checks for errors [\#853](https://github.com/SeldonIO/seldon-core/pull/853) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Standardisation of rest apis [\#847](https://github.com/SeldonIO/seldon-core/pull/847) ([axsaucedo](https://github.com/axsaucedo))
+- Added openshift to documentation [\#846](https://github.com/SeldonIO/seldon-core/pull/846) ([axsaucedo](https://github.com/axsaucedo))
+- Setup basic Jenkins X configuration [\#843](https://github.com/SeldonIO/seldon-core/pull/843) ([axsaucedo](https://github.com/axsaucedo))
+- Removed url for model server [\#842](https://github.com/SeldonIO/seldon-core/pull/842) ([axsaucedo](https://github.com/axsaucedo))
+- Update sklearn server examples with debug and fix notebook example [\#840](https://github.com/SeldonIO/seldon-core/pull/840) ([cliveseldon](https://github.com/cliveseldon))
+- Fix tensor return in python wrapper [\#839](https://github.com/SeldonIO/seldon-core/pull/839) ([cliveseldon](https://github.com/cliveseldon))
+- Fix typo [\#835](https://github.com/SeldonIO/seldon-core/pull/835) ([naxty](https://github.com/naxty))
+- Previous steps in seldon graph override metadata of latter steps [\#833](https://github.com/SeldonIO/seldon-core/pull/833) ([axsaucedo](https://github.com/axsaucedo))
+- jaeger extra tags [\#832](https://github.com/SeldonIO/seldon-core/pull/832) ([lukacsg](https://github.com/lukacsg))
+- Update autoscale example for new deployment name convention [\#830](https://github.com/SeldonIO/seldon-core/pull/830) ([cliveseldon](https://github.com/cliveseldon))
+- configurable secure argument for minio client [\#827](https://github.com/SeldonIO/seldon-core/pull/827) ([xaniasd](https://github.com/xaniasd))
+- Refactor dataframe contract helper script into package [\#823](https://github.com/SeldonIO/seldon-core/pull/823) ([jklaise](https://github.com/jklaise))
+- Requirements version alignment across setup.py and requirements.txt [\#819](https://github.com/SeldonIO/seldon-core/pull/819) ([axsaucedo](https://github.com/axsaucedo))
+- Update all servers to use 0.12-SNAPSHOT and update to 0.2 [\#818](https://github.com/SeldonIO/seldon-core/pull/818) ([cliveseldon](https://github.com/cliveseldon))
+- Fixing multidimensional arrays not being fully converted from PROTO [\#817](https://github.com/SeldonIO/seldon-core/pull/817) ([axsaucedo](https://github.com/axsaucedo))
+- Fix typo in doc [\#815](https://github.com/SeldonIO/seldon-core/pull/815) ([hlb](https://github.com/hlb))
+- Helm upgrade 0.4.0 [\#814](https://github.com/SeldonIO/seldon-core/pull/814) ([cliveseldon](https://github.com/cliveseldon))
+- add documentation for ambassador\_id support [\#813](https://github.com/SeldonIO/seldon-core/pull/813) ([phsiao](https://github.com/phsiao))
+- Added MLFLOW\_SERVER in CRD files [\#812](https://github.com/SeldonIO/seldon-core/pull/812) ([axsaucedo](https://github.com/axsaucedo))
+- Add Chainer MNIST example [\#808](https://github.com/SeldonIO/seldon-core/pull/808) ([dtaniwaki](https://github.com/dtaniwaki))
+- Removing proto functionality from REST /predict endpoint \[\[#803](https://github.com/SeldonIO/seldon-core/issues/803)\] [\#806](https://github.com/SeldonIO/seldon-core/pull/806) ([axsaucedo](https://github.com/axsaucedo))
+- Improve error handling [\#799](https://github.com/SeldonIO/seldon-core/pull/799) ([dtaniwaki](https://github.com/dtaniwaki))
+- set puid in case it is received in request [\#766](https://github.com/SeldonIO/seldon-core/pull/766) ([klalit](https://github.com/klalit))
+- ensure latest request logger [\#730](https://github.com/SeldonIO/seldon-core/pull/730) ([ryandawsonuk](https://github.com/ryandawsonuk))
+
+
+[Changes][v0.4.1]
+
+
+
+## [v0.4.0](https://github.com/SeldonIO/seldon-core/releases/tag/v0.4.0) - 16 Aug 2019
+
+## [v0.4.0](https://github.com/SeldonIO/seldon-core/tree/v0.4.0) (2019-08-15)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.3.1...v0.4.0)
+
+**Fixed bugs:**
+
+- multiple containers in componentSpecs.spec.containers not supported? [\#718](https://github.com/SeldonIO/seldon-core/issues/718)
+- Ambassador does not work in v0.3.2 [\#710](https://github.com/SeldonIO/seldon-core/issues/710)
+
+**Closed issues:**
+
+- Create kustomize for 0.3.2 release [\#794](https://github.com/SeldonIO/seldon-core/issues/794)
+- Add redhat certified image to operatorhub [\#791](https://github.com/SeldonIO/seldon-core/issues/791)
+- Build model servers with non-SNAPSHOT image [\#790](https://github.com/SeldonIO/seldon-core/issues/790)
+- env secret for explainers [\#785](https://github.com/SeldonIO/seldon-core/issues/785)
+- finding image names used in grafana dashboards for prepack model servers [\#783](https://github.com/SeldonIO/seldon-core/issues/783)
+- seldon container engine sidecar java process should run with '-server' setting [\#781](https://github.com/SeldonIO/seldon-core/issues/781)
+- label selector problem when running xgboost and sklearn iris prepack examples together [\#777](https://github.com/SeldonIO/seldon-core/issues/777)
+- Documentation links cannot be seen \(just change css color\) [\#773](https://github.com/SeldonIO/seldon-core/issues/773)
+- \[Bug\]Invalid metadata label generated from deployment file [\#772](https://github.com/SeldonIO/seldon-core/issues/772)
+- Add a basic MLFlow model server based on example [\#771](https://github.com/SeldonIO/seldon-core/issues/771)
+- additionalProperties cannot be set to false error when installing helm chart [\#768](https://github.com/SeldonIO/seldon-core/issues/768)
+- Cannot make GRPC calls through GRPC microservice wrapping. [\#762](https://github.com/SeldonIO/seldon-core/issues/762)
+- make it clearer how and when to set engine resources [\#761](https://github.com/SeldonIO/seldon-core/issues/761)
+- Update TFServing Proxy to use v0.5 of the python wrapper [\#760](https://github.com/SeldonIO/seldon-core/issues/760)
+- intermittent 503 errors in end-to-end tests [\#758](https://github.com/SeldonIO/seldon-core/issues/758)
+- Add global count Graphana graph per deployment [\#756](https://github.com/SeldonIO/seldon-core/issues/756)
+- docs: python wrapping docker [\#754](https://github.com/SeldonIO/seldon-core/issues/754)
+- Liveness probe kills seldon engine container when model predict function takes a long time to send a result [\#753](https://github.com/SeldonIO/seldon-core/issues/753)
+- models from private buckets for prepackaged/standalone servers [\#748](https://github.com/SeldonIO/seldon-core/issues/748)
+- prepackaged/standalone servers to download models from initContainers [\#747](https://github.com/SeldonIO/seldon-core/issues/747)
+- Writing the predict function around pandas dataframes [\#746](https://github.com/SeldonIO/seldon-core/issues/746)
+- Golang CRD api [\#734](https://github.com/SeldonIO/seldon-core/issues/734)
+- Update Roadmap [\#723](https://github.com/SeldonIO/seldon-core/issues/723)
+- CRD in kustomize is missing subresource.status [\#713](https://github.com/SeldonIO/seldon-core/issues/713)
+- calling SeldonClient.predict inside a microservice model rasing "TypeError: Couldn't build proto file into descriptor pool!" [\#711](https://github.com/SeldonIO/seldon-core/issues/711)
+- Add SELDON\_LOG\_LEVEL parameter in Python Wrapper [\#708](https://github.com/SeldonIO/seldon-core/issues/708)
+- All numbers get converted to float when sending JSON resulting in unexpected behaviour in Proxies [\#703](https://github.com/SeldonIO/seldon-core/issues/703)
+- docs: ambassador version [\#697](https://github.com/SeldonIO/seldon-core/issues/697)
+- docs: Python API reference [\#696](https://github.com/SeldonIO/seldon-core/issues/696)
+- Back-off pulling image "data\_downloader:0.1": ImagePullBackOff [\#695](https://github.com/SeldonIO/seldon-core/issues/695)
+- Deploying modified TensorRT example on GKE does not deploy anything [\#694](https://github.com/SeldonIO/seldon-core/issues/694)
+- Support JSON format in TFServer Proxy REST API [\#693](https://github.com/SeldonIO/seldon-core/issues/693)
+- Add build files for alibi explainer server [\#692](https://github.com/SeldonIO/seldon-core/issues/692)
+- docs: Ambassador REST endpoint path [\#688](https://github.com/SeldonIO/seldon-core/issues/688)
+- cannot run through the example. [\#677](https://github.com/SeldonIO/seldon-core/issues/677)
+- Liveness probe kills Seldon engine container with long init waiting time \(Python wrapper\) [\#674](https://github.com/SeldonIO/seldon-core/issues/674)
+- need to increase failure threshold for engine with new operator [\#673](https://github.com/SeldonIO/seldon-core/issues/673)
+- installing sdep straight after operator seems not fully reliable [\#669](https://github.com/SeldonIO/seldon-core/issues/669)
+- Remove api-frontend [\#663](https://github.com/SeldonIO/seldon-core/issues/663)
+- Ambassador Swagger definition does not include namespace [\#660](https://github.com/SeldonIO/seldon-core/issues/660)
+- Remove Java Operator [\#654](https://github.com/SeldonIO/seldon-core/issues/654)
+- Docs do not mention addition of jsonData outside of the release notes [\#652](https://github.com/SeldonIO/seldon-core/issues/652)
+- Support Swagger or something like that [\#645](https://github.com/SeldonIO/seldon-core/issues/645)
+- Changes required for Seldon Core Analytics Grafana to work behind proxy [\#622](https://github.com/SeldonIO/seldon-core/issues/622)
+- Tensorflow GPU Example [\#619](https://github.com/SeldonIO/seldon-core/issues/619)
+- HTTPS/HTTP switch for seldon client [\#572](https://github.com/SeldonIO/seldon-core/issues/572)
+- How can I modify the logging format of REST API for StackDriver and BigQuery? [\#557](https://github.com/SeldonIO/seldon-core/issues/557)
+- The output from ambassador converts integer types to float . [\#458](https://github.com/SeldonIO/seldon-core/issues/458)
+- Question: Concurrency in Model REST server [\#453](https://github.com/SeldonIO/seldon-core/issues/453)
+- Add model explainer example [\#425](https://github.com/SeldonIO/seldon-core/issues/425)
+- Kubeflow Pipelines Integration [\#415](https://github.com/SeldonIO/seldon-core/issues/415)
+- Add an WSGI app server to Python REST wrappers [\#383](https://github.com/SeldonIO/seldon-core/issues/383)
+
+**Merged pull requests:**
+
+- Fix for CVE-2018-1000654 in openjdk:8u201-jre-alpine3 [\#805](https://github.com/SeldonIO/seldon-core/pull/805) ([gsunner](https://github.com/gsunner))
+- Fix name for prepackged server test [\#804](https://github.com/SeldonIO/seldon-core/pull/804) ([cliveseldon](https://github.com/cliveseldon))
+- Update e2e test for mab [\#802](https://github.com/SeldonIO/seldon-core/pull/802) ([cliveseldon](https://github.com/cliveseldon))
+- Update test deployment name in e2e tests [\#801](https://github.com/SeldonIO/seldon-core/pull/801) ([cliveseldon](https://github.com/cliveseldon))
+- loadtest not needed with kubeflow and svc name seems to have changed [\#800](https://github.com/SeldonIO/seldon-core/pull/800) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Changed Ambassador warning across, suggesting istio for gRPC [\#798](https://github.com/SeldonIO/seldon-core/pull/798) ([axsaucedo](https://github.com/axsaucedo))
+- Update kustomize and update helm abtest/mab names [\#797](https://github.com/SeldonIO/seldon-core/pull/797) ([cliveseldon](https://github.com/cliveseldon))
+- TFServing functionality with latest python image [\#793](https://github.com/SeldonIO/seldon-core/pull/793) ([axsaucedo](https://github.com/axsaucedo))
+- Added custom file for redhat [\#792](https://github.com/SeldonIO/seldon-core/pull/792) ([axsaucedo](https://github.com/axsaucedo))
+- Updated MLFlow server removed commented code [\#789](https://github.com/SeldonIO/seldon-core/pull/789) ([axsaucedo](https://github.com/axsaucedo))
+- having image means hashed deployment name [\#788](https://github.com/SeldonIO/seldon-core/pull/788) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Document how to use envSecretRefName to customize S3-like object store [\#787](https://github.com/SeldonIO/seldon-core/pull/787) ([phsiao](https://github.com/phsiao))
+- update docs, prediction proto with jsonData field [\#786](https://github.com/SeldonIO/seldon-core/pull/786) ([gsunner](https://github.com/gsunner))
+- crd changes for creds secret [\#782](https://github.com/SeldonIO/seldon-core/pull/782) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fixed headers for alibaba and kubeflow examples [\#780](https://github.com/SeldonIO/seldon-core/pull/780) ([axsaucedo](https://github.com/axsaucedo))
+- Update openapi and fix multipart check [\#779](https://github.com/SeldonIO/seldon-core/pull/779) ([cliveseldon](https://github.com/cliveseldon))
+- Docs for svc orchestrator [\#778](https://github.com/SeldonIO/seldon-core/pull/778) ([cliveseldon](https://github.com/cliveseldon))
+- WIP - Analytics deployment update [\#775](https://github.com/SeldonIO/seldon-core/pull/775) ([gsunner](https://github.com/gsunner))
+- Added mlflow model server [\#774](https://github.com/SeldonIO/seldon-core/pull/774) ([axsaucedo](https://github.com/axsaucedo))
+- prepackage model server tests [\#764](https://github.com/SeldonIO/seldon-core/pull/764) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Added metrics and fixed docs typos [\#763](https://github.com/SeldonIO/seldon-core/pull/763) ([axsaucedo](https://github.com/axsaucedo))
+- single replica ambassadoar [\#759](https://github.com/SeldonIO/seldon-core/pull/759) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- WIP: Allow predict for sklearn standalone server as wll as predict\_proba [\#757](https://github.com/SeldonIO/seldon-core/pull/757) ([cliveseldon](https://github.com/cliveseldon))
+- correct ACK naming in doc and examples [\#755](https://github.com/SeldonIO/seldon-core/pull/755) ([wsxiaozhang](https://github.com/wsxiaozhang))
+- add the support for multipart/form-data in python service and engine [\#751](https://github.com/SeldonIO/seldon-core/pull/751) ([klalit](https://github.com/klalit))
+- Fix some doc needed to make this work [\#744](https://github.com/SeldonIO/seldon-core/pull/744) ([gageorge](https://github.com/gageorge))
+- Enable seldon log level param [\#743](https://github.com/SeldonIO/seldon-core/pull/743) ([axsaucedo](https://github.com/axsaucedo))
+- Clarify what is meant by id in router documentation [\#738](https://github.com/SeldonIO/seldon-core/pull/738) ([alexlatchford](https://github.com/alexlatchford))
+- Fix typo in docstring [\#737](https://github.com/SeldonIO/seldon-core/pull/737) ([sujaymansingh](https://github.com/sujaymansingh))
+- config for explainer [\#736](https://github.com/SeldonIO/seldon-core/pull/736) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- endpoint /seldon.json not returning the file [\#732](https://github.com/SeldonIO/seldon-core/pull/732) ([klalit](https://github.com/klalit))
+- repoint at tfserving public bucket [\#729](https://github.com/SeldonIO/seldon-core/pull/729) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- added seldon colours to Theme\_override & seldon logo [\#728](https://github.com/SeldonIO/seldon-core/pull/728) ([oscarfco](https://github.com/oscarfco))
+- be consistent with message logging annotation names [\#727](https://github.com/SeldonIO/seldon-core/pull/727) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- option to set operator-wide default for request logging [\#726](https://github.com/SeldonIO/seldon-core/pull/726) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Small updates to python module [\#722](https://github.com/SeldonIO/seldon-core/pull/722) ([cliveseldon](https://github.com/cliveseldon))
+- update request logger [\#721](https://github.com/SeldonIO/seldon-core/pull/721) ([cliveseldon](https://github.com/cliveseldon))
+- Update kustomize [\#720](https://github.com/SeldonIO/seldon-core/pull/720) ([cliveseldon](https://github.com/cliveseldon))
+- fix framework name to official one [\#717](https://github.com/SeldonIO/seldon-core/pull/717) ([chie8842](https://github.com/chie8842))
+- Added centralised logging to docs for \[#636](https://github.com/SeldonIO/seldon-core/issues/636) [\#716](https://github.com/SeldonIO/seldon-core/pull/716) ([axsaucedo](https://github.com/axsaucedo))
+- Update request logger [\#712](https://github.com/SeldonIO/seldon-core/pull/712) ([cliveseldon](https://github.com/cliveseldon))
+- SSL for Seldon Python Client [\#709](https://github.com/SeldonIO/seldon-core/pull/709) ([cliveseldon](https://github.com/cliveseldon))
+- WIP: Proposed changes to ensure JSON REST Consistency \(Fixes \[#703](https://github.com/SeldonIO/seldon-core/issues/703)\) [\#707](https://github.com/SeldonIO/seldon-core/pull/707) ([axsaucedo](https://github.com/axsaucedo))
+- TFServing Enabled Text Response and Fixed JSON Parse [\#704](https://github.com/SeldonIO/seldon-core/pull/704) ([axsaucedo](https://github.com/axsaucedo))
+- fix\(text\): wrong word [\#702](https://github.com/SeldonIO/seldon-core/pull/702) ([brunowego](https://github.com/brunowego))
+- Added TFServing JSON Support [\#699](https://github.com/SeldonIO/seldon-core/pull/699) ([axsaucedo](https://github.com/axsaucedo))
+- make model servers first example in docs [\#691](https://github.com/SeldonIO/seldon-core/pull/691) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- WIP: explainers [\#690](https://github.com/SeldonIO/seldon-core/pull/690) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Model servers [\#689](https://github.com/SeldonIO/seldon-core/pull/689) ([cliveseldon](https://github.com/cliveseldon))
+- Alibaba Cloud Elastic Container Service \(AKS\) example [\#687](https://github.com/SeldonIO/seldon-core/pull/687) ([axsaucedo](https://github.com/axsaucedo))
+- WIP: Update python wrapper to use gunicorn [\#684](https://github.com/SeldonIO/seldon-core/pull/684) ([cliveseldon](https://github.com/cliveseldon))
+- move seldon analytics port [\#681](https://github.com/SeldonIO/seldon-core/pull/681) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Added subsection in documentation with suggested path to follow with examples [\#679](https://github.com/SeldonIO/seldon-core/pull/679) ([axsaucedo](https://github.com/axsaucedo))
+- scikit learn iris model using jsondata example [\#678](https://github.com/SeldonIO/seldon-core/pull/678) ([gsunner](https://github.com/gsunner))
+- Added requirements and spacy Docker file for Kubeflow example [\#675](https://github.com/SeldonIO/seldon-core/pull/675) ([JoelH96](https://github.com/JoelH96))
+- Remove API OAuth Gateway and Cluster Manager [\#671](https://github.com/SeldonIO/seldon-core/pull/671) ([cliveseldon](https://github.com/cliveseldon))
+- WIP: Ambassador canary update [\#667](https://github.com/SeldonIO/seldon-core/pull/667) ([cliveseldon](https://github.com/cliveseldon))
+- grafana and req logging configuration to work behind istio ingress gateway [\#650](https://github.com/SeldonIO/seldon-core/pull/650) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add Kustomize [\#639](https://github.com/SeldonIO/seldon-core/pull/639) ([cliveseldon](https://github.com/cliveseldon))
+- Alibi deployment example - Anchor Tabular [\#629](https://github.com/SeldonIO/seldon-core/pull/629) ([axsaucedo](https://github.com/axsaucedo))
+
+
+[Changes][v0.4.0]
+
+
+
+## [v0.3.1](https://github.com/SeldonIO/seldon-core/releases/tag/v0.3.1) - 28 Jun 2019
+
+# Change Log
+
+## [v0.3.1](https://github.com/SeldonIO/seldon-core/tree/v0.3.1) (2019-06-28)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.3.0...v0.3.1)
+
+**Closed issues:**
+
+- Embedded travis build status needs updating \(in main readme\) [\#656](https://github.com/SeldonIO/seldon-core/issues/656)
+- Add doc link to prow [\#655](https://github.com/SeldonIO/seldon-core/issues/655)
+- Remove Old Java Operator Docs [\#653](https://github.com/SeldonIO/seldon-core/issues/653)
+- requests all failed during benchmarking with Locust [\#644](https://github.com/SeldonIO/seldon-core/issues/644)
+- Seldon & Istio - broken link [\#643](https://github.com/SeldonIO/seldon-core/issues/643)
+- Seldon-core-operator install fails [\#640](https://github.com/SeldonIO/seldon-core/issues/640)
+- how to add custom meta fields for tracking [\#632](https://github.com/SeldonIO/seldon-core/issues/632)
+- Using the cluster-manager underlying API as a library [\#626](https://github.com/SeldonIO/seldon-core/issues/626)
+- User Exceptions raised in predict function of a wrapper class needs to be handled via flask exception handler [\#625](https://github.com/SeldonIO/seldon-core/issues/625)
+- volume mounting - update examples [\#604](https://github.com/SeldonIO/seldon-core/issues/604)
+- engine resources not configurable in new operator [\#598](https://github.com/SeldonIO/seldon-core/issues/598)
+- status code in response missing. Seldon v 0.2.3 [\#519](https://github.com/SeldonIO/seldon-core/issues/519)
+- deprecate ksonnet [\#477](https://github.com/SeldonIO/seldon-core/issues/477)
+
+**Merged pull requests:**
+
+- remove cluster-manager from jenkins build [\#664](https://github.com/SeldonIO/seldon-core/pull/664) ([gsunner](https://github.com/gsunner))
+- Change operator service selector [\#662](https://github.com/SeldonIO/seldon-core/pull/662) ([cliveseldon](https://github.com/cliveseldon))
+- \[Docs\] Fix formatting of s2i docs page [\#661](https://github.com/SeldonIO/seldon-core/pull/661) ([aarondav](https://github.com/aarondav))
+- remove cluster-manager from travis build [\#659](https://github.com/SeldonIO/seldon-core/pull/659) ([gsunner](https://github.com/gsunner))
+- Embedded travis status [\#658](https://github.com/SeldonIO/seldon-core/pull/658) ([gsunner](https://github.com/gsunner))
+- add prow info [\#657](https://github.com/SeldonIO/seldon-core/pull/657) ([gsunner](https://github.com/gsunner))
+- Allow User Defined Exceptions [\#651](https://github.com/SeldonIO/seldon-core/pull/651) ([klalit](https://github.com/klalit))
+- Update loadtest notebook [\#649](https://github.com/SeldonIO/seldon-core/pull/649) ([cliveseldon](https://github.com/cliveseldon))
+- Gpu tensorflow example [\#638](https://github.com/SeldonIO/seldon-core/pull/638) ([JoelH96](https://github.com/JoelH96))
+- Remove ksonnet [\#634](https://github.com/SeldonIO/seldon-core/pull/634) ([cliveseldon](https://github.com/cliveseldon))
+- Update tracing example and fix api-tester grpc for ambassador [\#631](https://github.com/SeldonIO/seldon-core/pull/631) ([cliveseldon](https://github.com/cliveseldon))
+- points on why seldon [\#628](https://github.com/SeldonIO/seldon-core/pull/628) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- generate service account [\#627](https://github.com/SeldonIO/seldon-core/pull/627) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Registry Image Tags and RBAC control for Operator Helm Chart [\#624](https://github.com/SeldonIO/seldon-core/pull/624) ([cliveseldon](https://github.com/cliveseldon))
+- Example in AKS using deep mnist [\#621](https://github.com/SeldonIO/seldon-core/pull/621) ([axsaucedo](https://github.com/axsaucedo))
+- run python builder container using non-root user [\#620](https://github.com/SeldonIO/seldon-core/pull/620) ([gsunner](https://github.com/gsunner))
+- EFK with transform for tabular data [\#616](https://github.com/SeldonIO/seldon-core/pull/616) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update e2e tests [\#606](https://github.com/SeldonIO/seldon-core/pull/606) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v0.3.1]
+
+
+
+## [v0.3.0](https://github.com/SeldonIO/seldon-core/releases/tag/v0.3.0) - 05 Jun 2019
+
+# Change Log
+
+## [v0.3.0](https://github.com/SeldonIO/seldon-core/tree/v0.3.0) (2019-06-05)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.2.7...v0.3.0)
+
+**Fixed bugs:**
+
+- Python module syntax error for python 3.5 for variable type annotation [\#614](https://github.com/SeldonIO/seldon-core/issues/614)
+- openvino\_imagenet\_ensemble example - prediction1 and prediction2 containers error [\#583](https://github.com/SeldonIO/seldon-core/issues/583)
+- Docker image name and version messed up [\#562](https://github.com/SeldonIO/seldon-core/issues/562)
+- SendonDeployment with name \> 31 characters [\#556](https://github.com/SeldonIO/seldon-core/issues/556)
+- Not able be build python3.6 base image. [\#542](https://github.com/SeldonIO/seldon-core/issues/542)
+
+**Closed issues:**
+
+- Update master to 0.3.0 SNAPSHOT [\#612](https://github.com/SeldonIO/seldon-core/issues/612)
+- sdep state doesn't move to available [\#605](https://github.com/SeldonIO/seldon-core/issues/605)
+- engine using 1 cpu [\#597](https://github.com/SeldonIO/seldon-core/issues/597)
+- forbidden error installing ambassador [\#596](https://github.com/SeldonIO/seldon-core/issues/596)
+- GPU support with SERVICE\_TYPE Model [\#590](https://github.com/SeldonIO/seldon-core/issues/590)
+- Update example notebooks for docs [\#586](https://github.com/SeldonIO/seldon-core/issues/586)
+- kubeflow/example-seldon on local cluster [\#585](https://github.com/SeldonIO/seldon-core/issues/585)
+- Unable to inject custom parameter in Python model [\#584](https://github.com/SeldonIO/seldon-core/issues/584)
+- Tensorflow MNIST Model example on EKS [\#580](https://github.com/SeldonIO/seldon-core/issues/580)
+- OOMKilled when starting an operator [\#579](https://github.com/SeldonIO/seldon-core/issues/579)
+- Can we customize the outputs format of Model? [\#565](https://github.com/SeldonIO/seldon-core/issues/565)
+- node exporter port conflict [\#563](https://github.com/SeldonIO/seldon-core/issues/563)
+- How can i enable debug logging of seldon-engine container [\#560](https://github.com/SeldonIO/seldon-core/issues/560)
+- Tensorflow Python 3.7 support and wrapper images [\#550](https://github.com/SeldonIO/seldon-core/issues/550)
+- helm-charts upgrade fails on ambassador [\#543](https://github.com/SeldonIO/seldon-core/issues/543)
+- Update Seldon Core Analytics Grafana [\#540](https://github.com/SeldonIO/seldon-core/issues/540)
+- Defining the model serving class with full name doesn't currently work [\#533](https://github.com/SeldonIO/seldon-core/issues/533)
+- Update Seldon Operator to Go [\#529](https://github.com/SeldonIO/seldon-core/issues/529)
+- Old Containers & Security Vulnerabilities [\#528](https://github.com/SeldonIO/seldon-core/issues/528)
+- option to not set runAsUser for engine [\#527](https://github.com/SeldonIO/seldon-core/issues/527)
+- Support istio ingress [\#511](https://github.com/SeldonIO/seldon-core/issues/511)
+- Endpoint type is missing for AB-test [\#451](https://github.com/SeldonIO/seldon-core/issues/451)
+- Alllow arbitrary JSON as a payload [\#434](https://github.com/SeldonIO/seldon-core/issues/434)
+- Update Ambassador to 0.40.2 [\#402](https://github.com/SeldonIO/seldon-core/issues/402)
+- Ambassador config for rolling updates [\#294](https://github.com/SeldonIO/seldon-core/issues/294)
+
+**Merged pull requests:**
+
+- node exporter configurable port [\#617](https://github.com/SeldonIO/seldon-core/pull/617) ([csabika7](https://github.com/csabika7))
+- Require python 3.6 or above for python module [\#615](https://github.com/SeldonIO/seldon-core/pull/615) ([cliveseldon](https://github.com/cliveseldon))
+- Update python wrappers to include 3.7 [\#611](https://github.com/SeldonIO/seldon-core/pull/611) ([cliveseldon](https://github.com/cliveseldon))
+- update jackson libs to version 2.9.9 [\#609](https://github.com/SeldonIO/seldon-core/pull/609) ([gsunner](https://github.com/gsunner))
+- ambassador v1 api [\#603](https://github.com/SeldonIO/seldon-core/pull/603) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- option to not set engine user [\#601](https://github.com/SeldonIO/seldon-core/pull/601) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- take latest ambassador image [\#599](https://github.com/SeldonIO/seldon-core/pull/599) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update SeldonMessage with jsonData [\#595](https://github.com/SeldonIO/seldon-core/pull/595) ([gsunner](https://github.com/gsunner))
+- Python release update [\#594](https://github.com/SeldonIO/seldon-core/pull/594) ([jklaise](https://github.com/jklaise))
+- Fix Jupyter Notebook Headers [\#592](https://github.com/SeldonIO/seldon-core/pull/592) ([axsauze](https://github.com/axsauze))
+- Kubeflow Seldon e2e NLP ML pipeline using re-usable components [\#589](https://github.com/SeldonIO/seldon-core/pull/589) ([axsauze](https://github.com/axsauze))
+- WIP: Integrate with Istio Ingress [\#588](https://github.com/SeldonIO/seldon-core/pull/588) ([cliveseldon](https://github.com/cliveseldon))
+- Added missing link to Jupyter notebook [\#587](https://github.com/SeldonIO/seldon-core/pull/587) ([axsauze](https://github.com/axsauze))
+- Added missed s2i folder to Scikitlearn SpaCy Text Example [\#582](https://github.com/SeldonIO/seldon-core/pull/582) ([axsauze](https://github.com/axsauze))
+- AWS Elastic Kubernetes/Container Service Deep Mnist Example [\#581](https://github.com/SeldonIO/seldon-core/pull/581) ([axsauze](https://github.com/axsauze))
+- Example using Seldon for text classification with SpaCy tokenizer [\#578](https://github.com/SeldonIO/seldon-core/pull/578) ([axsauze](https://github.com/axsauze))
+- Remove request limits from operator [\#577](https://github.com/SeldonIO/seldon-core/pull/577) ([cliveseldon](https://github.com/cliveseldon))
+- Fix PredictiveUnitState image name and version \(\[#562](https://github.com/SeldonIO/seldon-core/issues/562)\) [\#576](https://github.com/SeldonIO/seldon-core/pull/576) ([sasvaritoni](https://github.com/sasvaritoni))
+- Update TF version for security [\#575](https://github.com/SeldonIO/seldon-core/pull/575) ([jklaise](https://github.com/jklaise))
+- updated openvino mode ensemble to 0.2 version [\#574](https://github.com/SeldonIO/seldon-core/pull/574) ([dtrawins](https://github.com/dtrawins))
+- updated openvino version to 2019.1 in python\_openvino model wrapper [\#573](https://github.com/SeldonIO/seldon-core/pull/573) ([dtrawins](https://github.com/dtrawins))
+- Fix example deployment yaml [\#571](https://github.com/SeldonIO/seldon-core/pull/571) ([sujaymansingh](https://github.com/sujaymansingh))
+- fix typo [\#570](https://github.com/SeldonIO/seldon-core/pull/570) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update Python builder image [\#568](https://github.com/SeldonIO/seldon-core/pull/568) ([jklaise](https://github.com/jklaise))
+- option for R builds with plain docker [\#567](https://github.com/SeldonIO/seldon-core/pull/567) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- reword explanation of ambassador [\#561](https://github.com/SeldonIO/seldon-core/pull/561) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Integrate use of Go Seldon Controller [\#559](https://github.com/SeldonIO/seldon-core/pull/559) ([cliveseldon](https://github.com/cliveseldon))
+- Update e2e tests s2i python image version [\#558](https://github.com/SeldonIO/seldon-core/pull/558) ([gsunner](https://github.com/gsunner))
+- option for docker build without s2i [\#555](https://github.com/SeldonIO/seldon-core/pull/555) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fix logging bug in Python wrapper [\#549](https://github.com/SeldonIO/seldon-core/pull/549) ([jklaise](https://github.com/jklaise))
+- update jackson-databind 2.8.11.2 -\> 2.9.8 for cve [\#547](https://github.com/SeldonIO/seldon-core/pull/547) ([gsunner](https://github.com/gsunner))
+- Updating grafana to v6.1.6 in seldon core analytics [\#541](https://github.com/SeldonIO/seldon-core/pull/541) ([SachinVarghese](https://github.com/SachinVarghese))
+- redis now a statefulset as using redis helm chart [\#539](https://github.com/SeldonIO/seldon-core/pull/539) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- add script to delete completed argo jobs [\#538](https://github.com/SeldonIO/seldon-core/pull/538) ([gsunner](https://github.com/gsunner))
+- Allow fully qualified class name to be used for the model serving image. [\#537](https://github.com/SeldonIO/seldon-core/pull/537) ([hmonteiro](https://github.com/hmonteiro))
+- option for anonymous access to grafana [\#535](https://github.com/SeldonIO/seldon-core/pull/535) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Anonymous grafana [\#534](https://github.com/SeldonIO/seldon-core/pull/534) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Revert "option to use anonymous auth grafana" [\#532](https://github.com/SeldonIO/seldon-core/pull/532) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Update component code coverage and dependencies docs [\#531](https://github.com/SeldonIO/seldon-core/pull/531) ([cliveseldon](https://github.com/cliveseldon))
+- update argocd and jenkins in cd demo and script for minikube [\#517](https://github.com/SeldonIO/seldon-core/pull/517) ([ryandawsonuk](https://github.com/ryandawsonuk))
+
+
+[Changes][v0.3.0]
+
+
+
+## [v0.2.7](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.7) - 29 Apr 2019
+
+# Change Log
+
+## [v0.2.7](https://github.com/SeldonIO/seldon-core/tree/v0.2.7) (2019-04-29)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.2.6...v0.2.7)
+
+**Implemented enhancements:**
+
+- Type check predictive unit parameters in the Python wrapper [\#440](https://github.com/SeldonIO/seldon-core/issues/440)
+
+**Fixed bugs:**
+
+- Models pods duplications after corrupted deployment [\#470](https://github.com/SeldonIO/seldon-core/issues/470)
+- Using a configMapRef inside of a seldon deployment manifest causes a NullPointerException in the SeldonDeploymentWatcher [\#450](https://github.com/SeldonIO/seldon-core/issues/450)
+- cannot get working external api but internal api is ok [\#448](https://github.com/SeldonIO/seldon-core/issues/448)
+- Status can become Available even with Exception in Operator [\#429](https://github.com/SeldonIO/seldon-core/issues/429)
+- Fix status update for failed deployments [\#474](https://github.com/SeldonIO/seldon-core/pull/474) ([cliveseldon](https://github.com/cliveseldon))
+
+**Closed issues:**
+
+- Install seldon in a single namespace with restricted tiller [\#514](https://github.com/SeldonIO/seldon-core/issues/514)
+- Document about microservice's input data [\#512](https://github.com/SeldonIO/seldon-core/issues/512)
+- where is io.seldon.protos.DeploymentProtos package located? [\#508](https://github.com/SeldonIO/seldon-core/issues/508)
+- seldon 0.2.3 - nfs volume in seldon graph failing in validation [\#504](https://github.com/SeldonIO/seldon-core/issues/504)
+- SeldonDeployment keeps hanging [\#499](https://github.com/SeldonIO/seldon-core/issues/499)
+- default ambassador chart to single namespace [\#495](https://github.com/SeldonIO/seldon-core/issues/495)
+- use v1 ambassador api [\#491](https://github.com/SeldonIO/seldon-core/issues/491)
+- Configure the way Prometheus exposed [\#484](https://github.com/SeldonIO/seldon-core/issues/484)
+- documentation is in doc not docs [\#481](https://github.com/SeldonIO/seldon-core/issues/481)
+- do a snapshot build and document if not documented [\#479](https://github.com/SeldonIO/seldon-core/issues/479)
+- How can we specify nested python class in .s2i/environment? [\#465](https://github.com/SeldonIO/seldon-core/issues/465)
+- Class names in latest python library is not backwards compatible [\#462](https://github.com/SeldonIO/seldon-core/issues/462)
+- Sending an object dtype array as the request JSON for a Model API [\#461](https://github.com/SeldonIO/seldon-core/issues/461)
+- NullPointer exception in API gateway when principal can't be determined [\#454](https://github.com/SeldonIO/seldon-core/issues/454)
+- Python Wrappers Version 2 [\#406](https://github.com/SeldonIO/seldon-core/issues/406)
+- Write a Python wrapper for a GENERIC component [\#378](https://github.com/SeldonIO/seldon-core/issues/378)
+- Create reference Python client [\#349](https://github.com/SeldonIO/seldon-core/issues/349)
+- Python-wrapper: Use debug flag to provide useful information [\#309](https://github.com/SeldonIO/seldon-core/issues/309)
+- Support autoscaler in SeldonDeployment [\#277](https://github.com/SeldonIO/seldon-core/issues/277)
+- Update Ambassdor Helm or remove and use Ambassador's helm chart [\#258](https://github.com/SeldonIO/seldon-core/issues/258)
+- Prow Integration [\#154](https://github.com/SeldonIO/seldon-core/issues/154)
+- CI/CD demo using GitOps framework [\#11](https://github.com/SeldonIO/seldon-core/issues/11)
+
+**Merged pull requests:**
+
+- permission and timeout changes after trying on an openshift4 cluster [\#524](https://github.com/SeldonIO/seldon-core/pull/524) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- use stable redis helm chart [\#521](https://github.com/SeldonIO/seldon-core/pull/521) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- seldpon\_grpc\_endpoint -\> seldon\_grpc\_endpoint [\#520](https://github.com/SeldonIO/seldon-core/pull/520) ([mustyoshi](https://github.com/mustyoshi))
+- Service Orchestrator Name Fix [\#516](https://github.com/SeldonIO/seldon-core/pull/516) ([cliveseldon](https://github.com/cliveseldon))
+- Remove v1alpha3 and revert to v1alpha2 [\#513](https://github.com/SeldonIO/seldon-core/pull/513) ([cliveseldon](https://github.com/cliveseldon))
+- downgrade ambassador [\#510](https://github.com/SeldonIO/seldon-core/pull/510) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- default ambassador to singleNamespace [\#509](https://github.com/SeldonIO/seldon-core/pull/509) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Allow submodules to be imported in python module [\#503](https://github.com/SeldonIO/seldon-core/pull/503) ([cliveseldon](https://github.com/cliveseldon))
+- Allow class\_names as method or attribute \(deprecated\) in Python module [\#502](https://github.com/SeldonIO/seldon-core/pull/502) ([cliveseldon](https://github.com/cliveseldon))
+- downgrade ambassador due to grpc unreliability [\#501](https://github.com/SeldonIO/seldon-core/pull/501) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fix HPA Nullpointer [\#500](https://github.com/SeldonIO/seldon-core/pull/500) ([cliveseldon](https://github.com/cliveseldon))
+- still intermittent problems, timeout needs to be longer [\#498](https://github.com/SeldonIO/seldon-core/pull/498) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Add missing additionProperties to openAPI specs for CRDS [\#496](https://github.com/SeldonIO/seldon-core/pull/496) ([cliveseldon](https://github.com/cliveseldon))
+- Spelling [\#493](https://github.com/SeldonIO/seldon-core/pull/493) ([mustyoshi](https://github.com/mustyoshi))
+- ambassador v1 api [\#492](https://github.com/SeldonIO/seldon-core/pull/492) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- Fix image link in readme [\#490](https://github.com/SeldonIO/seldon-core/pull/490) ([cliveseldon](https://github.com/cliveseldon))
+- Updates for various Python and Operator fixes [\#488](https://github.com/SeldonIO/seldon-core/pull/488) ([cliveseldon](https://github.com/cliveseldon))
+- 484 metrics port [\#485](https://github.com/SeldonIO/seldon-core/pull/485) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- ignore pickle files [\#483](https://github.com/SeldonIO/seldon-core/pull/483) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- remove old docs [\#482](https://github.com/SeldonIO/seldon-core/pull/482) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- make ambassador a dependency [\#480](https://github.com/SeldonIO/seldon-core/pull/480) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- gitignore for intellij [\#471](https://github.com/SeldonIO/seldon-core/pull/471) ([ryandawsonuk](https://github.com/ryandawsonuk))
+- python wrapper image fix update [\#469](https://github.com/SeldonIO/seldon-core/pull/469) ([gsunner](https://github.com/gsunner))
+- python wrapper image references updated from 0.5 to 0.5.1 [\#468](https://github.com/SeldonIO/seldon-core/pull/468) ([gsunner](https://github.com/gsunner))
+- Static Documentation Site [\#466](https://github.com/SeldonIO/seldon-core/pull/466) ([cliveseldon](https://github.com/cliveseldon))
+- Remove tornando dependency from Python setup.py [\#464](https://github.com/SeldonIO/seldon-core/pull/464) ([cliveseldon](https://github.com/cliveseldon))
+- Add types for predict, transform\_input, transform\_output [\#463](https://github.com/SeldonIO/seldon-core/pull/463) ([cliveseldon](https://github.com/cliveseldon))
+- Script to create Seldon API testing files from any Pandas dataframe [\#460](https://github.com/SeldonIO/seldon-core/pull/460) ([Love-R](https://github.com/Love-R))
+- WIP: Python wrappers rewrite [\#457](https://github.com/SeldonIO/seldon-core/pull/457) ([cliveseldon](https://github.com/cliveseldon))
+- Python builder [\#455](https://github.com/SeldonIO/seldon-core/pull/455) ([gsunner](https://github.com/gsunner))
+- Update redis [\#446](https://github.com/SeldonIO/seldon-core/pull/446) ([naseemkullah](https://github.com/naseemkullah))
+- WIP: Autoscaling [\#437](https://github.com/SeldonIO/seldon-core/pull/437) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v0.2.7]
+
+
+
+## [v0.2.6](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.6) - 22 Feb 2019
+
+# Change Log
+
+## [v0.2.6](https://github.com/SeldonIO/seldon-core/tree/v0.2.6) (2019-02-22)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.2.5...v0.2.6)
+
+**Fixed bugs:**
+
+- Bug parsing boolean predictive unit params in Python wrappers [\#439](https://github.com/SeldonIO/seldon-core/issues/439)
+- APIFE fails to connect to service due to name change [\#433](https://github.com/SeldonIO/seldon-core/issues/433)
+
+**Closed issues:**
+
+- If building a python image from a folder, which is also a git-folder build silently fails [\#452](https://github.com/SeldonIO/seldon-core/issues/452)
+- Setting `engineResources` not enabling resource requests/limits to `seldon-container-engine` sidecar [\#398](https://github.com/SeldonIO/seldon-core/issues/398)
+- Expose Jaeger agent port as environment variable on deployment manifest [\#396](https://github.com/SeldonIO/seldon-core/issues/396)
+- Ksonnets for Seldon Analytics [\#391](https://github.com/SeldonIO/seldon-core/issues/391)
+- sklearn iris returns value error [\#389](https://github.com/SeldonIO/seldon-core/issues/389)
+- SOAP API [\#387](https://github.com/SeldonIO/seldon-core/issues/387)
+- unable to find proto file which defines grpc [\#384](https://github.com/SeldonIO/seldon-core/issues/384)
+- tensorflow-gpu [\#380](https://github.com/SeldonIO/seldon-core/issues/380)
+- onnx\_resnet50.ipynb : "Unknown operation: Gather" [\#379](https://github.com/SeldonIO/seldon-core/issues/379)
+- Passing arguments to the model object [\#377](https://github.com/SeldonIO/seldon-core/issues/377)
+- Model pod enters in CrashLoopBackOff. How to debug? [\#376](https://github.com/SeldonIO/seldon-core/issues/376)
+- Global metrics show N/A in Seldon Analytics Grafana [\#371](https://github.com/SeldonIO/seldon-core/issues/371)
+- Mistyped check causing NULL Pointer Exceptions with getNamespace [\#367](https://github.com/SeldonIO/seldon-core/issues/367)
+- Json payload size increases when I use json.dumps [\#365](https://github.com/SeldonIO/seldon-core/issues/365)
+- Need an updated tutorial for seldon serving on GKE [\#361](https://github.com/SeldonIO/seldon-core/issues/361)
+- Hi,we need Golang Deploy Seldon Wrapper Container [\#356](https://github.com/SeldonIO/seldon-core/issues/356)
+- Update docs and examples to use the new Python package [\#347](https://github.com/SeldonIO/seldon-core/issues/347)
+- Potential problem in EpsilonGreedy.py? [\#336](https://github.com/SeldonIO/seldon-core/issues/336)
+- Deploying seldon-core to Kubernetes 1.8.6 fails with `no matches for kind "Deployment" in version "apps/v1"` [\#333](https://github.com/SeldonIO/seldon-core/issues/333)
+- S2i build image with private pip repository [\#330](https://github.com/SeldonIO/seldon-core/issues/330)
+- Wrapping components outside of the tree [\#324](https://github.com/SeldonIO/seldon-core/issues/324)
+- Seems to be a bad fit for a multi-tenant cluster. [\#308](https://github.com/SeldonIO/seldon-core/issues/308)
+- Update Grafana / Prometheus image [\#303](https://github.com/SeldonIO/seldon-core/issues/303)
+- Function to pass additional meta info for `predict\(\)` [\#297](https://github.com/SeldonIO/seldon-core/issues/297)
+- Update base java image [\#289](https://github.com/SeldonIO/seldon-core/issues/289)
+- Update ksonnet to reflect latest helm templates [\#282](https://github.com/SeldonIO/seldon-core/issues/282)
+- NullPointerException in seldon-cluster manager logs [\#268](https://github.com/SeldonIO/seldon-core/issues/268)
+- requestPath picking up old model on rolling update [\#267](https://github.com/SeldonIO/seldon-core/issues/267)
+- Seldon deployment success/failure condition [\#255](https://github.com/SeldonIO/seldon-core/issues/255)
+- Reconcile the differences between seldon-core and kubeflow core.libsonnet to improve maintenance [\#237](https://github.com/SeldonIO/seldon-core/issues/237)
+- Make the "apiVersion" in the Helm templates consistent [\#236](https://github.com/SeldonIO/seldon-core/issues/236)
+- Create initial docs for Transformers [\#229](https://github.com/SeldonIO/seldon-core/issues/229)
+- Create initial docs for Routers [\#228](https://github.com/SeldonIO/seldon-core/issues/228)
+- deploy docker image is ok ,but deploy k8s pod always failed [\#212](https://github.com/SeldonIO/seldon-core/issues/212)
+- Format of the data sent as a request to the seldon REST api? [\#193](https://github.com/SeldonIO/seldon-core/issues/193)
+- There is no setting that allows increasing the limits of GRPC Server [\#183](https://github.com/SeldonIO/seldon-core/issues/183)
+- Docker image build error with sklearn\_iris\_docker example [\#164](https://github.com/SeldonIO/seldon-core/issues/164)
+- Add support for spring-boot-starter-webflux [\#152](https://github.com/SeldonIO/seldon-core/issues/152)
+- gRPC query waits indefinitely while execution giving no output [\#149](https://github.com/SeldonIO/seldon-core/issues/149)
+- scikit-learn support for predict method not only predict\_proba [\#145](https://github.com/SeldonIO/seldon-core/issues/145)
+- Wrapper command on windows PS [\#134](https://github.com/SeldonIO/seldon-core/issues/134)
+- Error 401 while requesting prediction outputs from seldon server [\#122](https://github.com/SeldonIO/seldon-core/issues/122)
+- How to Deploy our custom models on seldon-core [\#104](https://github.com/SeldonIO/seldon-core/issues/104)
+- Create docs for available plugins [\#100](https://github.com/SeldonIO/seldon-core/issues/100)
+- Custom model endpoints [\#96](https://github.com/SeldonIO/seldon-core/issues/96)
+- Docker image missing for Iris classification [\#91](https://github.com/SeldonIO/seldon-core/issues/91)
+- Add options to populate meta data in wrappers foreach API request [\#86](https://github.com/SeldonIO/seldon-core/issues/86)
+- Add InputOutputTransformer predictive unit [\#85](https://github.com/SeldonIO/seldon-core/issues/85)
+- Add Explainer as transformer component [\#84](https://github.com/SeldonIO/seldon-core/issues/84)
+- Create wrapper for PyTorch models [\#82](https://github.com/SeldonIO/seldon-core/issues/82)
+- Graph with epsilon greedy router sometimes fails on first request [\#80](https://github.com/SeldonIO/seldon-core/issues/80)
+- Create integration testing script [\#73](https://github.com/SeldonIO/seldon-core/issues/73)
+- Allow engine resource requests for engine to be configurable in proto definition for CRD [\#70](https://github.com/SeldonIO/seldon-core/issues/70)
+- Create Concept Drift Alert Plugin [\#56](https://github.com/SeldonIO/seldon-core/issues/56)
+- Create Outlier Detection Plugin [\#55](https://github.com/SeldonIO/seldon-core/issues/55)
+- Create Multi-Armed Bandit Router Plugin\(s\) [\#54](https://github.com/SeldonIO/seldon-core/issues/54)
+- Update docs for sklearn\_iris\_docker [\#52](https://github.com/SeldonIO/seldon-core/issues/52)
+- Response should contain indication of which predictor was used [\#50](https://github.com/SeldonIO/seldon-core/issues/50)
+- Add git hooks for validation of notebooks before commit [\#10](https://github.com/SeldonIO/seldon-core/issues/10)
+- Update docs and examples to illustrate complex runtime graphs [\#1](https://github.com/SeldonIO/seldon-core/issues/1)
+
+**Merged pull requests:**
+
+- openvino ensemble adjustments [\#444](https://github.com/SeldonIO/seldon-core/pull/444) ([dtrawins](https://github.com/dtrawins))
+- Update image names for openvino demo [\#442](https://github.com/SeldonIO/seldon-core/pull/442) ([cliveseldon](https://github.com/cliveseldon))
+- Fix bug in parsing boolean params in Python wrapper [\#441](https://github.com/SeldonIO/seldon-core/pull/441) ([jklaise](https://github.com/jklaise))
+- Update java wrapper version in docs [\#436](https://github.com/SeldonIO/seldon-core/pull/436) ([cliveseldon](https://github.com/cliveseldon))
+- Fix API Gateway Endpoint name [\#435](https://github.com/SeldonIO/seldon-core/pull/435) ([cliveseldon](https://github.com/cliveseldon))
+- Updates for openvino demo [\#431](https://github.com/SeldonIO/seldon-core/pull/431) ([cliveseldon](https://github.com/cliveseldon))
+- updated ensemble pipeline with OpenVINO component [\#430](https://github.com/SeldonIO/seldon-core/pull/430) ([dtrawins](https://github.com/dtrawins))
+- Outlier service type [\#428](https://github.com/SeldonIO/seldon-core/pull/428) ([arnaudvl](https://github.com/arnaudvl))
+- Engine merge meta puid [\#424](https://github.com/SeldonIO/seldon-core/pull/424) ([jklaise](https://github.com/jklaise))
+- Allow reusing containers in the inference graph [\#423](https://github.com/SeldonIO/seldon-core/pull/423) ([jklaise](https://github.com/jklaise))
+- Ambassador Update: Canary, Shadow, Header Based Routing [\#409](https://github.com/SeldonIO/seldon-core/pull/409) ([cliveseldon](https://github.com/cliveseldon))
+- Cluster Manager Cache Fix [\#408](https://github.com/SeldonIO/seldon-core/pull/408) ([cliveseldon](https://github.com/cliveseldon))
+- Add ability to fetch metadata from model and transformer components [\#407](https://github.com/SeldonIO/seldon-core/pull/407) ([jklaise](https://github.com/jklaise))
+- Fix api-tester not working via GRPC and Ambassador [\#405](https://github.com/SeldonIO/seldon-core/pull/405) ([jklaise](https://github.com/jklaise))
+- Fix s2i builder image local build to use latest Python source code [\#404](https://github.com/SeldonIO/seldon-core/pull/404) ([jklaise](https://github.com/jklaise))
+- setPredictorSpec is not needed anymore in EnginePredictor [\#401](https://github.com/SeldonIO/seldon-core/pull/401) ([ro7m](https://github.com/ro7m))
+- Fix engine resources setting and update docs [\#400](https://github.com/SeldonIO/seldon-core/pull/400) ([cliveseldon](https://github.com/cliveseldon))
+- Provide Ksonnet Analytics Package [\#399](https://github.com/SeldonIO/seldon-core/pull/399) ([cliveseldon](https://github.com/cliveseldon))
+- Allow JAEGER\_AGENT\_PORT env on default Jaeger configuration [\#397](https://github.com/SeldonIO/seldon-core/pull/397) ([masroorhasan](https://github.com/masroorhasan))
+- Outlier update [\#395](https://github.com/SeldonIO/seldon-core/pull/395) ([arnaudvl](https://github.com/arnaudvl))
+- removing resttemplate setter from predictionService [\#393](https://github.com/SeldonIO/seldon-core/pull/393) ([ro7m](https://github.com/ro7m))
+- gRPC load balancing via Ambassador [\#390](https://github.com/SeldonIO/seldon-core/pull/390) ([cliveseldon](https://github.com/cliveseldon))
+- Outlier mahalanobis [\#388](https://github.com/SeldonIO/seldon-core/pull/388) ([arnaudvl](https://github.com/arnaudvl))
+- Update ngraph s2i image and remove torch from demo [\#386](https://github.com/SeldonIO/seldon-core/pull/386) ([cliveseldon](https://github.com/cliveseldon))
+- ojAlgo upgrade to v47, and a few improvements [\#385](https://github.com/SeldonIO/seldon-core/pull/385) ([apete](https://github.com/apete))
+- Cicd demo - WIP [\#382](https://github.com/SeldonIO/seldon-core/pull/382) ([gsunner](https://github.com/gsunner))
+- Add docs for parameters in components [\#381](https://github.com/SeldonIO/seldon-core/pull/381) ([cliveseldon](https://github.com/cliveseldon))
+- WIP: Update ksonnet to ensure 1.8 k8s compatibility [\#375](https://github.com/SeldonIO/seldon-core/pull/375) ([cliveseldon](https://github.com/cliveseldon))
+- seq2seq lstm outlier detector [\#374](https://github.com/SeldonIO/seldon-core/pull/374) ([arnaudvl](https://github.com/arnaudvl))
+- Adding test case for SeldonDeploymentWatcher [\#373](https://github.com/SeldonIO/seldon-core/pull/373) ([ro7m](https://github.com/ro7m))
+- Add [@Timed](https://github.com/Timed) to 2 main REST endpoint to readd prometheus metrics [\#372](https://github.com/SeldonIO/seldon-core/pull/372) ([cliveseldon](https://github.com/cliveseldon))
+- Update OpenVINO example for raw image bytes [\#370](https://github.com/SeldonIO/seldon-core/pull/370) ([cliveseldon](https://github.com/cliveseldon))
+- Fix debug logging in case study files [\#369](https://github.com/SeldonIO/seldon-core/pull/369) ([jklaise](https://github.com/jklaise))
+- WIP: Train on Sagemaker, Deploy on Seldon Core [\#368](https://github.com/SeldonIO/seldon-core/pull/368) ([cliveseldon](https://github.com/cliveseldon))
+- Mistyped check causing NULL Pointer Exceptions with getNamespace function [\#366](https://github.com/SeldonIO/seldon-core/pull/366) ([ro7m](https://github.com/ro7m))
+- Fix URICache bug in engine [\#364](https://github.com/SeldonIO/seldon-core/pull/364) ([cliveseldon](https://github.com/cliveseldon))
+- release notes 0.2.5 [\#363](https://github.com/SeldonIO/seldon-core/pull/363) ([cliveseldon](https://github.com/cliveseldon))
+- add README files to outlier detectors [\#362](https://github.com/SeldonIO/seldon-core/pull/362) ([arnaudvl](https://github.com/arnaudvl))
+- Fix incorrect links in router docs [\#360](https://github.com/SeldonIO/seldon-core/pull/360) ([jklaise](https://github.com/jklaise))
+- Mlflow Example [\#359](https://github.com/SeldonIO/seldon-core/pull/359) ([cliveseldon](https://github.com/cliveseldon))
+- Initial Go Wrapper Example for Seldon Core [\#358](https://github.com/SeldonIO/seldon-core/pull/358) ([cliveseldon](https://github.com/cliveseldon))
+- Distributed Tracing, Profiling docs and OpenVINO Demo \(WIP\) [\#357](https://github.com/SeldonIO/seldon-core/pull/357) ([cliveseldon](https://github.com/cliveseldon))
+- Change mean\_classifier to mock\_classifier in tests and example for consistency [\#355](https://github.com/SeldonIO/seldon-core/pull/355) ([cliveseldon](https://github.com/cliveseldon))
+- Update CRDs to correct OpenAPISchema [\#354](https://github.com/SeldonIO/seldon-core/pull/354) ([cliveseldon](https://github.com/cliveseldon))
+- Remove legacy testers [\#352](https://github.com/SeldonIO/seldon-core/pull/352) ([jklaise](https://github.com/jklaise))
+- Update example models to use python package [\#351](https://github.com/SeldonIO/seldon-core/pull/351) ([cliveseldon](https://github.com/cliveseldon))
+- WIP: Update docs and examples to use Python package [\#348](https://github.com/SeldonIO/seldon-core/pull/348) ([jklaise](https://github.com/jklaise))
+- S2i 0.4 update [\#346](https://github.com/SeldonIO/seldon-core/pull/346) ([jklaise](https://github.com/jklaise))
+- Fix bug creating tf protos for e2e testing [\#345](https://github.com/SeldonIO/seldon-core/pull/345) ([jklaise](https://github.com/jklaise))
+- Python release version [\#344](https://github.com/SeldonIO/seldon-core/pull/344) ([jklaise](https://github.com/jklaise))
+- multi-armed bandit components [\#335](https://github.com/SeldonIO/seldon-core/pull/335) ([jklaise](https://github.com/jklaise))
+- Enable support for using local Python binaries when wrapping components [\#332](https://github.com/SeldonIO/seldon-core/pull/332) ([jklaise](https://github.com/jklaise))
+- Update build scripts to use latest core builder image [\#313](https://github.com/SeldonIO/seldon-core/pull/313) ([jklaise](https://github.com/jklaise))
+
+
+[Changes][v0.2.6]
+
+
+
+## [v0.2.5](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.5) - 16 Dec 2018
+
+# Change Log
+
+## [v0.2.5](https://github.com/SeldonIO/seldon-core/tree/v0.2.5) (2018-12-16)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.2.4...v0.2.5)
+
+**Closed issues:**
+
+- initialDelaySeconds: 10 sec is not enough for some models [\#323](https://github.com/SeldonIO/seldon-core/issues/323)
+- Bug: custom metrics for both children and parent components [\#322](https://github.com/SeldonIO/seldon-core/issues/322)
+- Ambassador seldon deployment not registered [\#318](https://github.com/SeldonIO/seldon-core/issues/318)
+- Allow user to disable Redis in seldon-core helm chart [\#304](https://github.com/SeldonIO/seldon-core/issues/304)
+- grpc tensor convert not valid for python 2 [\#301](https://github.com/SeldonIO/seldon-core/issues/301)
+- Ambassador [\#298](https://github.com/SeldonIO/seldon-core/issues/298)
+- Create a python wrapper for COMBINER components [\#296](https://github.com/SeldonIO/seldon-core/issues/296)
+- packaging for python microservice wrapper [\#293](https://github.com/SeldonIO/seldon-core/issues/293)
+- Update to latest Spartakus image [\#291](https://github.com/SeldonIO/seldon-core/issues/291)
+- Docker image "seldonio/seldon-core-s2i-python3" uses old Python 3.6 [\#288](https://github.com/SeldonIO/seldon-core/issues/288)
+- Seldon cluster-manager k8s cluster wide operations [\#269](https://github.com/SeldonIO/seldon-core/issues/269)
+- S2I hangs in example models when using minikube docker-env [\#253](https://github.com/SeldonIO/seldon-core/issues/253)
+- Accessing custom metrics in our Python model [\#245](https://github.com/SeldonIO/seldon-core/issues/245)
+- strData & binData not accepted by Python model microservice [\#225](https://github.com/SeldonIO/seldon-core/issues/225)
+- Utilize latest /status endpoint for Custom Resources in k8s 1.11 [\#176](https://github.com/SeldonIO/seldon-core/issues/176)
+- Investigate Nvidia's TensorRT [\#121](https://github.com/SeldonIO/seldon-core/issues/121)
+- Review status field for CRD [\#83](https://github.com/SeldonIO/seldon-core/issues/83)
+- gitops demo [\#67](https://github.com/SeldonIO/seldon-core/issues/67)
+- Update seldon-core/examples docs after move [\#35](https://github.com/SeldonIO/seldon-core/issues/35)
+- Create wrapper for Spark standalone runtime models [\#24](https://github.com/SeldonIO/seldon-core/issues/24)
+
+**Merged pull requests:**
+
+- Update e2e tests and add Combiner to python wrappers [\#343](https://github.com/SeldonIO/seldon-core/pull/343) ([cliveseldon](https://github.com/cliveseldon))
+- Python wrapper update and openvino example [\#342](https://github.com/SeldonIO/seldon-core/pull/342) ([cliveseldon](https://github.com/cliveseldon))
+- Remove legacy python wrapper modules [\#339](https://github.com/SeldonIO/seldon-core/pull/339) ([jklaise](https://github.com/jklaise))
+- Update S2I version in examples [\#338](https://github.com/SeldonIO/seldon-core/pull/338) ([cliveseldon](https://github.com/cliveseldon))
+- Cluster Wide Operator [\#334](https://github.com/SeldonIO/seldon-core/pull/334) ([cliveseldon](https://github.com/cliveseldon))
+- update python requests package version [\#331](https://github.com/SeldonIO/seldon-core/pull/331) ([arnaudvl](https://github.com/arnaudvl))
+- Fix bug in parent custom metrics [\#329](https://github.com/SeldonIO/seldon-core/pull/329) ([cliveseldon](https://github.com/cliveseldon))
+- ResNet Latency test [\#328](https://github.com/SeldonIO/seldon-core/pull/328) ([cliveseldon](https://github.com/cliveseldon))
+- adding isolation forest and reorganize vae [\#327](https://github.com/SeldonIO/seldon-core/pull/327) ([arnaudvl](https://github.com/arnaudvl))
+- Add serving doc [\#326](https://github.com/SeldonIO/seldon-core/pull/326) ([cliveseldon](https://github.com/cliveseldon))
+- Update docs for API examples and latest protos [\#325](https://github.com/SeldonIO/seldon-core/pull/325) ([cliveseldon](https://github.com/cliveseldon))
+- Allow further options for binary and tensors in prediction API [\#321](https://github.com/SeldonIO/seldon-core/pull/321) ([cliveseldon](https://github.com/cliveseldon))
+- outlier detection component [\#320](https://github.com/SeldonIO/seldon-core/pull/320) ([arnaudvl](https://github.com/arnaudvl))
+- Fix grpc tensor convert for python2 [\#317](https://github.com/SeldonIO/seldon-core/pull/317) ([cliveseldon](https://github.com/cliveseldon))
+- Fix bug in parsing truth values for feedback [\#316](https://github.com/SeldonIO/seldon-core/pull/316) ([jklaise](https://github.com/jklaise))
+- WIP: Custom metric tags [\#311](https://github.com/SeldonIO/seldon-core/pull/311) ([cliveseldon](https://github.com/cliveseldon))
+- Fix tester docs to point to correct links [\#307](https://github.com/SeldonIO/seldon-core/pull/307) ([jklaise](https://github.com/jklaise))
+- Create initial Python package [\#306](https://github.com/SeldonIO/seldon-core/pull/306) ([jklaise](https://github.com/jklaise))
+- Allow disable redis [\#305](https://github.com/SeldonIO/seldon-core/pull/305) ([ChenyuanZ](https://github.com/ChenyuanZ))
+- fix status remove functionality in operator [\#300](https://github.com/SeldonIO/seldon-core/pull/300) ([cliveseldon](https://github.com/cliveseldon))
+- Fix storing of Gauge metrics [\#299](https://github.com/SeldonIO/seldon-core/pull/299) ([cliveseldon](https://github.com/cliveseldon))
+- Rolling Update Fixes [\#295](https://github.com/SeldonIO/seldon-core/pull/295) ([cliveseldon](https://github.com/cliveseldon))
+- Update java base images [\#292](https://github.com/SeldonIO/seldon-core/pull/292) ([cliveseldon](https://github.com/cliveseldon))
+- WIP: Create python 3.6 and 3.7 wrapper versions [\#290](https://github.com/SeldonIO/seldon-core/pull/290) ([cliveseldon](https://github.com/cliveseldon))
+- Custom Metrics [\#281](https://github.com/SeldonIO/seldon-core/pull/281) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v0.2.5]
+
+
+
+## [v0.2.4](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.4) - 07 Nov 2018
+
+**Closed issues:**
+
+- Specification of a Service Account [\#286](https://github.com/SeldonIO/seldon-core/issues/286)
+- curl not found error [\#283](https://github.com/SeldonIO/seldon-core/issues/283)
+- Allow ambassador from other namespace to access SeldonDeployment [\#279](https://github.com/SeldonIO/seldon-core/issues/279)
+- Fix Github security vulnerabilities in dependencies [\#259](https://github.com/SeldonIO/seldon-core/issues/259)
+- Feedback API not called when using Models [\#251](https://github.com/SeldonIO/seldon-core/issues/251)
+- Allow JAVA OPTS for engine to be specified [\#249](https://github.com/SeldonIO/seldon-core/issues/249)
+- ndarray greater than 15280 bytes [\#248](https://github.com/SeldonIO/seldon-core/issues/248)
+- Prediction API get model version [\#244](https://github.com/SeldonIO/seldon-core/issues/244)
+- SeldonDeployment creation strips out an empty "children" list field in the manifest [\#242](https://github.com/SeldonIO/seldon-core/issues/242)
+- Mahalanobis Outlier Detector fails when batch is of size 1 [\#240](https://github.com/SeldonIO/seldon-core/issues/240)
+- Seldon Core Operator defaulting causes issues with helm and ArgoCD [\#233](https://github.com/SeldonIO/seldon-core/issues/233)
+- TensorFlow Serving as the Model microservice [\#226](https://github.com/SeldonIO/seldon-core/issues/226)
+- Nodejs wrapper for javascript models [\#216](https://github.com/SeldonIO/seldon-core/issues/216)
+- Environmental variable error [\#215](https://github.com/SeldonIO/seldon-core/issues/215)
+- How do I increase timeout of sidecar seldon container? [\#196](https://github.com/SeldonIO/seldon-core/issues/196)
+- update release script for pyhton3 [\#160](https://github.com/SeldonIO/seldon-core/issues/160)
+- Ability to customize Ambassador configuration [\#120](https://github.com/SeldonIO/seldon-core/issues/120)
+- Script to convert proto files and generate OpenAPI schema [\#9](https://github.com/SeldonIO/seldon-core/issues/9)
+- OpenAPI spec for external and internal prediction APIs [\#6](https://github.com/SeldonIO/seldon-core/issues/6)
+
+**Merged pull requests:**
+
+- Add optional service account for engine [\#287](https://github.com/SeldonIO/seldon-core/pull/287) ([cliveseldon](https://github.com/cliveseldon))
+- Add missing curl to engine Dockerfile [\#285](https://github.com/SeldonIO/seldon-core/pull/285) ([cliveseldon](https://github.com/cliveseldon))
+- Allow ambassador from other namespace to access SeldonDeployment [\#280](https://github.com/SeldonIO/seldon-core/pull/280) ([ChenyuanZ](https://github.com/ChenyuanZ))
+- Faster protobuffer to numpy conversion in python wrapper [\#278](https://github.com/SeldonIO/seldon-core/pull/278) ([cliveseldon](https://github.com/cliveseldon))
+- Ensure cluster role has unique name [\#276](https://github.com/SeldonIO/seldon-core/pull/276) ([cliveseldon](https://github.com/cliveseldon))
+- fix api-tester not using oauth-key and oauth-secret args [\#275](https://github.com/SeldonIO/seldon-core/pull/275) ([gsunner](https://github.com/gsunner))
+- Update when status is set [\#273](https://github.com/SeldonIO/seldon-core/pull/273) ([cliveseldon](https://github.com/cliveseldon))
+- Add OUTPUT\_TRANSFORMER example [\#272](https://github.com/SeldonIO/seldon-core/pull/272) ([ChenyuanZ](https://github.com/ChenyuanZ))
+- Add Open API Definitions [\#271](https://github.com/SeldonIO/seldon-core/pull/271) ([cliveseldon](https://github.com/cliveseldon))
+- Update Custom Resources via k8s /status endpoint if possible [\#270](https://github.com/SeldonIO/seldon-core/pull/270) ([cliveseldon](https://github.com/cliveseldon))
+- Fixed small copy-paste error [\#266](https://github.com/SeldonIO/seldon-core/pull/266) ([lorello](https://github.com/lorello))
+- Update ambassador to 0.40.0 [\#265](https://github.com/SeldonIO/seldon-core/pull/265) ([cliveseldon](https://github.com/cliveseldon))
+- Add code coverage Jacoco to poms [\#264](https://github.com/SeldonIO/seldon-core/pull/264) ([cliveseldon](https://github.com/cliveseldon))
+- Fix vulnerability warnings with updates to engine and apife pom [\#263](https://github.com/SeldonIO/seldon-core/pull/263) ([cliveseldon](https://github.com/cliveseldon))
+- Add custom metrics proposal [\#261](https://github.com/SeldonIO/seldon-core/pull/261) ([cliveseldon](https://github.com/cliveseldon))
+- Intel Openvino Integration [\#260](https://github.com/SeldonIO/seldon-core/pull/260) ([cliveseldon](https://github.com/cliveseldon))
+- Python wrapper custom endpoints [\#257](https://github.com/SeldonIO/seldon-core/pull/257) ([gsunner](https://github.com/gsunner))
+- Sending Feedback to Models [\#254](https://github.com/SeldonIO/seldon-core/pull/254) ([cliveseldon](https://github.com/cliveseldon))
+- Python wrapper custom endpoints [\#252](https://github.com/SeldonIO/seldon-core/pull/252) ([gsunner](https://github.com/gsunner))
+- Engine java opts annotations and ambassador timeout annotation [\#250](https://github.com/SeldonIO/seldon-core/pull/250) ([cliveseldon](https://github.com/cliveseldon))
+- Update Ksonnet and Helm Charts [\#247](https://github.com/SeldonIO/seldon-core/pull/247) ([cliveseldon](https://github.com/cliveseldon))
+- Add requestPath to response meta data [\#246](https://github.com/SeldonIO/seldon-core/pull/246) ([cliveseldon](https://github.com/cliveseldon))
+- Fix outlier detection divide by zero and add initial mnist example \(wip\) [\#243](https://github.com/SeldonIO/seldon-core/pull/243) ([cliveseldon](https://github.com/cliveseldon))
+- Fix typos in docs [\#241](https://github.com/SeldonIO/seldon-core/pull/241) ([jklaise](https://github.com/jklaise))
+- Add example helm charts for inference graphs [\#239](https://github.com/SeldonIO/seldon-core/pull/239) ([cliveseldon](https://github.com/cliveseldon))
+- Fix for defaulting changing Custom Resource [\#238](https://github.com/SeldonIO/seldon-core/pull/238) ([cliveseldon](https://github.com/cliveseldon))
+- Image pull policy ksonnet fix [\#235](https://github.com/SeldonIO/seldon-core/pull/235) ([gsunner](https://github.com/gsunner))
+- Nvidia Inference Server and Tensorflow Serving Model Proxies [\#234](https://github.com/SeldonIO/seldon-core/pull/234) ([cliveseldon](https://github.com/cliveseldon))
+- Update kubectl\_demo\_minikube\_rbac.ipynb [\#232](https://github.com/SeldonIO/seldon-core/pull/232) ([benoitbayol](https://github.com/benoitbayol))
+- Update epsilon-greedy example to Python 3 [\#231](https://github.com/SeldonIO/seldon-core/pull/231) ([jklaise](https://github.com/jklaise))
+- Update kubectl\_demo\_minikube\_rbac.ipynb [\#230](https://github.com/SeldonIO/seldon-core/pull/230) ([benoitbayol](https://github.com/benoitbayol))
+- GRPC API for javascript models with Nodejs s2i wrapper [\#224](https://github.com/SeldonIO/seldon-core/pull/224) ([SachinVarghese](https://github.com/SachinVarghese))
+
+
+[Changes][v0.2.4]
+
+
+
+## [v0.2.3](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.3) - 17 Sep 2018
+
+# Change Log
+
+## [v0.2.3](https://github.com/SeldonIO/seldon-core/tree/v0.2.3) (2018-09-17)
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.2.2...v0.2.3)
+
+**Closed issues:**
+
+- R wrapper s2i environment documentation missing Model file extension [\#219](https://github.com/SeldonIO/seldon-core/issues/219)
+- Provide example using ONNX via Intel nGraph for inference [\#214](https://github.com/SeldonIO/seldon-core/issues/214)
+- how to explore grafana dashboard for seldon-core in web ui [\#209](https://github.com/SeldonIO/seldon-core/issues/209)
+- APPLICATION FAILED TO START - Example python notebook \(fx-market-predictor\) [\#208](https://github.com/SeldonIO/seldon-core/issues/208)
+- dev guide doc: develop/test changes locally? [\#202](https://github.com/SeldonIO/seldon-core/issues/202)
+- Service orchestrator updated when surrounding deployment changed [\#199](https://github.com/SeldonIO/seldon-core/issues/199)
+- UnknownHostException: seldon-deployment [\#194](https://github.com/SeldonIO/seldon-core/issues/194)
+- grafana dashboard [\#192](https://github.com/SeldonIO/seldon-core/issues/192)
+- Add image versions to all wrapper images [\#136](https://github.com/SeldonIO/seldon-core/issues/136)
+- Status is not created in Custom Resource on initial create or update [\#74](https://github.com/SeldonIO/seldon-core/issues/74)
+
+**Merged pull requests:**
+
+- Update SeldonDeployment status for lifecycle conditions [\#223](https://github.com/SeldonIO/seldon-core/pull/223) ([cliveseldon](https://github.com/cliveseldon))
+- Update use of python wrappers to version 0.2 [\#222](https://github.com/SeldonIO/seldon-core/pull/222) ([cliveseldon](https://github.com/cliveseldon))
+- Support for ONNX exported models for inference [\#221](https://github.com/SeldonIO/seldon-core/pull/221) ([cliveseldon](https://github.com/cliveseldon))
+- Private repo build and run [\#220](https://github.com/SeldonIO/seldon-core/pull/220) ([gsunner](https://github.com/gsunner))
+- Nodejs s2i wrapper for JavaScript models [\#218](https://github.com/SeldonIO/seldon-core/pull/218) ([SachinVarghese](https://github.com/SachinVarghese))
+- Update seldon metrics [\#217](https://github.com/SeldonIO/seldon-core/pull/217) ([cliveseldon](https://github.com/cliveseldon))
+- fix oauth\_port check in api-tester [\#213](https://github.com/SeldonIO/seldon-core/pull/213) ([cliveseldon](https://github.com/cliveseldon))
+- Add configurable timeouts for REST and gRPC [\#211](https://github.com/SeldonIO/seldon-core/pull/211) ([cliveseldon](https://github.com/cliveseldon))
+- Config circular bug [\#210](https://github.com/SeldonIO/seldon-core/pull/210) ([cliveseldon](https://github.com/cliveseldon))
+- Update for flatbuffers python wrappers [\#205](https://github.com/SeldonIO/seldon-core/pull/205) ([cliveseldon](https://github.com/cliveseldon))
+- Experimental Flatbuffers based protocol for python wrapper [\#204](https://github.com/SeldonIO/seldon-core/pull/204) ([cliveseldon](https://github.com/cliveseldon))
+- Change wrappers to be versioned and update examples and docs [\#201](https://github.com/SeldonIO/seldon-core/pull/201) ([cliveseldon](https://github.com/cliveseldon))
+- Update istio example notebook [\#200](https://github.com/SeldonIO/seldon-core/pull/200) ([cliveseldon](https://github.com/cliveseldon))
+- Allow Annotations to allow customizations [\#197](https://github.com/SeldonIO/seldon-core/pull/197) ([cliveseldon](https://github.com/cliveseldon))
+- Removed subtype from deployment example [\#195](https://github.com/SeldonIO/seldon-core/pull/195) ([hanneshapke](https://github.com/hanneshapke))
+
+
+
+[Changes][v0.2.3]
+
+
+
+## [v0.2.2](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.2) - 18 Jul 2018
+
+**Merged pull requests:**
+
+- Ksonnet update [\#191](https://github.com/SeldonIO/seldon-core/pull/191) ([cliveseldon](https://github.com/cliveseldon))
+- Remove ambassador role and rolebinding from helm script [\#190](https://github.com/SeldonIO/seldon-core/pull/190) ([cliveseldon](https://github.com/cliveseldon))
+- Update istio example [\#189](https://github.com/SeldonIO/seldon-core/pull/189) ([cliveseldon](https://github.com/cliveseldon))
+- Update maven goals to generate licences [\#188](https://github.com/SeldonIO/seldon-core/pull/188) ([cliveseldon](https://github.com/cliveseldon))
+- Fix typo [\#187](https://github.com/SeldonIO/seldon-core/pull/187) ([otakuto](https://github.com/otakuto))
+- Istio updates [\#186](https://github.com/SeldonIO/seldon-core/pull/186) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v0.2.2]
+
+
+
+## [v0.2.1](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.1) - 09 Jul 2018
+
+**Closed issues:**
+
+- "/s2i/bin/assemble: line 59: 10 Killed" when using S2I to build PyTorch container [\#180](https://github.com/SeldonIO/seldon-core/issues/180)
+- Getting timeout error using S2I to package PyTorch model [\#179](https://github.com/SeldonIO/seldon-core/issues/179)
+- Make Operator Create CRD on StartUp [\#174](https://github.com/SeldonIO/seldon-core/issues/174)
+
+**Merged pull requests:**
+
+- Licences generation in poms [\#185](https://github.com/SeldonIO/seldon-core/pull/185) ([cliveseldon](https://github.com/cliveseldon))
+- Update api testing utils to allow shape parameter [\#184](https://github.com/SeldonIO/seldon-core/pull/184) ([cliveseldon](https://github.com/cliveseldon))
+- Ensure ambassador names are unique in resources created [\#182](https://github.com/SeldonIO/seldon-core/pull/182) ([cliveseldon](https://github.com/cliveseldon))
+- Remove Application from helm chart [\#181](https://github.com/SeldonIO/seldon-core/pull/181) ([cliveseldon](https://github.com/cliveseldon))
+- Updated Helm Chart and auto create of CRD [\#178](https://github.com/SeldonIO/seldon-core/pull/178) ([cliveseldon](https://github.com/cliveseldon))
+
+
+[Changes][v0.2.1]
+
+
+
+## [v0.2.0](https://github.com/SeldonIO/seldon-core/releases/tag/v0.2.0) - 29 Jun 2018
+
+**Closed issues:**
+
+- PREDICTIVE\_UNIT\_PARAMETERS: not able to set them up correctly [\#170](https://github.com/SeldonIO/seldon-core/issues/170)
+- Add docs page for Helm [\#71](https://github.com/SeldonIO/seldon-core/issues/71)
+
+**Merged pull requests:**
+
+- fix crd.libsonnet error [\#177](https://github.com/SeldonIO/seldon-core/pull/177) ([fisache](https://github.com/fisache))
+- Distributed deployment and Istio [\#173](https://github.com/SeldonIO/seldon-core/pull/173) ([cliveseldon](https://github.com/cliveseldon))
+
+
+
+[Changes][v0.2.0]
+
+
+
+## [v0.1.8](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.8) - 27 Jun 2018
+
+**Closed issues:**
+
+- Prediction analytics dashboard not capturing prediction API calls [\#168](https://github.com/SeldonIO/seldon-core/issues/168)
+- Ambassador + Minikube doc needs to be updated per RBAC [\#165](https://github.com/SeldonIO/seldon-core/issues/165)
+- configmap type volume gets mounted as EmptyDir [\#162](https://github.com/SeldonIO/seldon-core/issues/162)
+- Java Wrapper H2OUtils doesn't check type in NDArray proto message conversion [\#158](https://github.com/SeldonIO/seldon-core/issues/158)
+- Release Java wrappers library 0.1.1 [\#157](https://github.com/SeldonIO/seldon-core/issues/157)
+- Automate update of ksonnet versions in release process [\#132](https://github.com/SeldonIO/seldon-core/issues/132)
+
+**Merged pull requests:**
+
+- Remove java wrapper library from code base [\#172](https://github.com/SeldonIO/seldon-core/pull/172) ([cliveseldon](https://github.com/cliveseldon))
+- Remove nd4j and replace with oj matrix library [\#171](https://github.com/SeldonIO/seldon-core/pull/171) ([cliveseldon](https://github.com/cliveseldon))
+- Fix prometheus helm install [\#169](https://github.com/SeldonIO/seldon-core/pull/169) ([cliveseldon](https://github.com/cliveseldon))
+- Update notebooks for minikube and ambassador [\#166](https://github.com/SeldonIO/seldon-core/pull/166) ([cliveseldon](https://github.com/cliveseldon))
+- Release script python3 compatibility [\#163](https://github.com/SeldonIO/seldon-core/pull/163) ([gsunner](https://github.com/gsunner))
+- Updates to 0.1.1 wrapper. H2O fixes. [\#161](https://github.com/SeldonIO/seldon-core/pull/161) ([cliveseldon](https://github.com/cliveseldon))
+- add update to core.jsonnet when setting version [\#159](https://github.com/SeldonIO/seldon-core/pull/159) ([gsunner](https://github.com/gsunner))
+
+
+[Changes][v0.1.8]
+
+
+
+## [v0.1.7](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.7) - 04 Jun 2018
+
+**Closed issues:**
+
+- Quickstart problem [\#153](https://github.com/SeldonIO/seldon-core/issues/153)
+- NameError: global name 'ListValue' is not defined [\#148](https://github.com/SeldonIO/seldon-core/issues/148)
+- bad credentials error with get\_token function [\#144](https://github.com/SeldonIO/seldon-core/issues/144)
+- Make CRD Namespaced scoped [\#141](https://github.com/SeldonIO/seldon-core/issues/141)
+- Create wrappers for Java based models [\#137](https://github.com/SeldonIO/seldon-core/issues/137)
+- Update ksonnet prototypes for latest image version [\#130](https://github.com/SeldonIO/seldon-core/issues/130)
+- Create demo notebook for Azure [\#129](https://github.com/SeldonIO/seldon-core/issues/129)
+- Grafana Dashboard [\#109](https://github.com/SeldonIO/seldon-core/issues/109)
+- Multiple helm seldon-core installs on separate namespaces fails [\#106](https://github.com/SeldonIO/seldon-core/issues/106)
+
+**Merged pull requests:**
+
+- Add install guide [\#156](https://github.com/SeldonIO/seldon-core/pull/156) ([cliveseldon](https://github.com/cliveseldon))
+- WIP : PySpark and PMML example [\#155](https://github.com/SeldonIO/seldon-core/pull/155) ([cliveseldon](https://github.com/cliveseldon))
+- Fix gRPC tests for wrappers and update sklearn iris example to show use [\#150](https://github.com/SeldonIO/seldon-core/pull/150) ([cliveseldon](https://github.com/cliveseldon))
+- Minikube RBAC updates and Notebooks for Model examples [\#147](https://github.com/SeldonIO/seldon-core/pull/147) ([cliveseldon](https://github.com/cliveseldon))
+- change ClusterRoleBinding to RoleBinding [\#146](https://github.com/SeldonIO/seldon-core/pull/146) ([gsunner](https://github.com/gsunner))
+- MNIST loadtest [\#143](https://github.com/SeldonIO/seldon-core/pull/143) ([cliveseldon](https://github.com/cliveseldon))
+- Openshift article on using s2i in seldon-core [\#140](https://github.com/SeldonIO/seldon-core/pull/140) ([cliveseldon](https://github.com/cliveseldon))
+- Java wrappers [\#138](https://github.com/SeldonIO/seldon-core/pull/138) ([cliveseldon](https://github.com/cliveseldon))
+- add notebook for azure demo [\#135](https://github.com/SeldonIO/seldon-core/pull/135) ([gsunner](https://github.com/gsunner))
+- update ksonnet defaults to 0.1.6 [\#131](https://github.com/SeldonIO/seldon-core/pull/131) ([cliveseldon](https://github.com/cliveseldon))
+- Typos fix [\#128](https://github.com/SeldonIO/seldon-core/pull/128) ([LevineHuang](https://github.com/LevineHuang))
+
+
+[Changes][v0.1.7]
+
+
+
+## [v0.1.6](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.6) - 30 Mar 2018
+
+**Closed issues:**
+
+- Support RBAC by default [\#126](https://github.com/SeldonIO/seldon-core/issues/126)
+- Engine requires images to have versions [\#117](https://github.com/SeldonIO/seldon-core/issues/117)
+- `hostPath` type volume gets mounted as `emptyDir` [\#116](https://github.com/SeldonIO/seldon-core/issues/116)
+- Investigate OpenShift source-to-image for wrapping models [\#113](https://github.com/SeldonIO/seldon-core/issues/113)
+- Add docs for analytics persistence [\#112](https://github.com/SeldonIO/seldon-core/issues/112)
+- Issue in deployments of multiple models [\#103](https://github.com/SeldonIO/seldon-core/issues/103)
+- Missing dependencies in notebooks/kubectl\_demo\_minikube.ipynb [\#101](https://github.com/SeldonIO/seldon-core/issues/101)
+- Add usage metrics collector [\#99](https://github.com/SeldonIO/seldon-core/issues/99)
+- Running test model on seldon core [\#90](https://github.com/SeldonIO/seldon-core/issues/90)
+- Deploying seldon models to multiple namespaces [\#89](https://github.com/SeldonIO/seldon-core/issues/89)
+- Generate load tests analytics [\#58](https://github.com/SeldonIO/seldon-core/issues/58)
+- Create wrapper for R models [\#23](https://github.com/SeldonIO/seldon-core/issues/23)
+
+**Merged pull requests:**
+
+- Rbac fixes [\#127](https://github.com/SeldonIO/seldon-core/pull/127) ([cliveseldon](https://github.com/cliveseldon))
+- Anonymous usage metrics collection [\#125](https://github.com/SeldonIO/seldon-core/pull/125) ([gsunner](https://github.com/gsunner))
+- R wrappers [\#124](https://github.com/SeldonIO/seldon-core/pull/124) ([cliveseldon](https://github.com/cliveseldon))
+- Fix parsing of image version in engine [\#119](https://github.com/SeldonIO/seldon-core/pull/119) ([cliveseldon](https://github.com/cliveseldon))
+- S2i examples [\#118](https://github.com/SeldonIO/seldon-core/pull/118) ([cliveseldon](https://github.com/cliveseldon))
+- S2i integration [\#115](https://github.com/SeldonIO/seldon-core/pull/115) ([cliveseldon](https://github.com/cliveseldon))
+- change benchmark notebook name [\#111](https://github.com/SeldonIO/seldon-core/pull/111) ([cliveseldon](https://github.com/cliveseldon))
+- Benchmarking seldon-core [\#110](https://github.com/SeldonIO/seldon-core/pull/110) ([cliveseldon](https://github.com/cliveseldon))
+- 55 outlier detection [\#105](https://github.com/SeldonIO/seldon-core/pull/105) ([Maximophone](https://github.com/Maximophone))
+- Made notebooks compatible with python 3 [\#102](https://github.com/SeldonIO/seldon-core/pull/102) ([Maximophone](https://github.com/Maximophone))
+
+
+[Changes][v0.1.6]
+
+
+
+## [v0.1.5](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.5) - 19 Feb 2018
+
+
+[Full Changelog](https://github.com/SeldonIO/seldon-core/compare/v0.1.4...v0.1.5)
+
+**Closed issues:**
+
+- Make CRD namespaced [\#95](https://github.com/SeldonIO/seldon-core/issues/95)
+- Allow Helm deployment without API Front end [\#92](https://github.com/SeldonIO/seldon-core/issues/92)
+- Support deployment of a Python 3 model [\#88](https://github.com/SeldonIO/seldon-core/issues/88)
+- Create a Slack channel for project [\#43](https://github.com/SeldonIO/seldon-core/issues/43)
+
+**Merged pull requests:**
+
+- ksonnet updates for namespaces and RBAC [\#98](https://github.com/SeldonIO/seldon-core/pull/98) ([cliveseldon](https://github.com/cliveseldon))
+- Handle namespaced deployments [\#97](https://github.com/SeldonIO/seldon-core/pull/97) ([cliveseldon](https://github.com/cliveseldon))
+- 88 python 3 compatibility [\#94](https://github.com/SeldonIO/seldon-core/pull/94) ([Maximophone](https://github.com/Maximophone))
+- allow apife to be optional in helm install [\#93](https://github.com/SeldonIO/seldon-core/pull/93) ([cliveseldon](https://github.com/cliveseldon))
+- remove redundant assignment [\#87](https://github.com/SeldonIO/seldon-core/pull/87) ([mjlodge](https://github.com/mjlodge))
+
+
+[Changes][v0.1.5]
+
+
+
+## [v0.1.4](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.4) - 05 Feb 2018
+
+**Closed issues:**
+
+- Create KSonnet prototypes for core [\#76](https://github.com/SeldonIO/seldon-core/issues/76)
+- Add automatically generated README to wrapped models [\#57](https://github.com/SeldonIO/seldon-core/issues/57)
+
+**Merged pull requests:**
+
+- ksonnet notebook with Ambassador [\#81](https://github.com/SeldonIO/seldon-core/pull/81) ([cliveseldon](https://github.com/cliveseldon))
+- Ksonnet - initial integration [\#79](https://github.com/SeldonIO/seldon-core/pull/79) ([cliveseldon](https://github.com/cliveseldon))
+- 54 epsilon greedy [\#78](https://github.com/SeldonIO/seldon-core/pull/78) ([Maximophone](https://github.com/Maximophone))
+
+[Changes][v0.1.4]
+
+
+
+## [v0.1.3](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.3) - 26 Jan 2018
+
+**Fixed bugs:**
+
+- Insufficient cpu error when creating complex graphs [\#47](https://github.com/SeldonIO/seldon-core/issues/47)
+
+**Closed issues:**
+
+- Split Prometheus monitoring from seldon-core Helm Chart [\#69](https://github.com/SeldonIO/seldon-core/issues/69)
+- Docs for how to deploy and CI/CD options [\#30](https://github.com/SeldonIO/seldon-core/issues/30)
+
+**Merged pull requests:**
+
+- Release v0.1.2 prep [\#66](https://github.com/SeldonIO/seldon-core/pull/66) ([gsunner](https://github.com/gsunner))
+
+
+[Changes][v0.1.3]
+
+
+
+## [v0.1.2](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.2) - 24 Jan 2018
+
+**Closed issues:**
+
+- Remove the cluster manager functionality that checks for "type" presence in predictive units graph [\#59](https://github.com/SeldonIO/seldon-core/issues/59)
+- Change builds to use seldonio/core-builder:0.2 [\#48](https://github.com/SeldonIO/seldon-core/issues/48)
+- Cluster manager stuck in an error loop after failed deployment [\#45](https://github.com/SeldonIO/seldon-core/issues/45)
+- Quickstart in minikube has old resource spec for deployment [\#40](https://github.com/SeldonIO/seldon-core/issues/40)
+- Bring seldon-core-examples into main project [\#33](https://github.com/SeldonIO/seldon-core/issues/33)
+- Update travis integration for all builds [\#25](https://github.com/SeldonIO/seldon-core/issues/25)
+- Update model wrapping docs and docker wrapping code [\#17](https://github.com/SeldonIO/seldon-core/issues/17)
+- Links are broken on the following doc page [\#16](https://github.com/SeldonIO/seldon-core/issues/16)
+
+**Merged pull requests:**
+
+- Release v0.1.2 prep [\#66](https://github.com/SeldonIO/seldon-core/pull/66) ([gsunner](https://github.com/gsunner))
+- add travis build status [\#64](https://github.com/SeldonIO/seldon-core/pull/64) ([gsunner](https://github.com/gsunner))
+- updates into Release 0.1 [\#63](https://github.com/SeldonIO/seldon-core/pull/63) ([gsunner](https://github.com/gsunner))
+- add current release branch to travis builds [\#62](https://github.com/SeldonIO/seldon-core/pull/62) ([gsunner](https://github.com/gsunner))
+- Complex graphs [\#61](https://github.com/SeldonIO/seldon-core/pull/61) ([Maximophone](https://github.com/Maximophone))
+- change validation to handle no method check [\#60](https://github.com/SeldonIO/seldon-core/pull/60) ([cliveseldon](https://github.com/cliveseldon))
+- update Quantity processing to allow non strings and catch exceptions in parsing protos [\#53](https://github.com/SeldonIO/seldon-core/pull/53) ([cliveseldon](https://github.com/cliveseldon))
+- Dockerize the entier wrapping process of building sklearn\_iris example [\#51](https://github.com/SeldonIO/seldon-core/pull/51) ([errordeveloper](https://github.com/errordeveloper))
+- travis builds updated to use core-builder:0.2 [\#49](https://github.com/SeldonIO/seldon-core/pull/49) ([gsunner](https://github.com/gsunner))
+- use core-builder container for release script [\#46](https://github.com/SeldonIO/seldon-core/pull/46) ([gsunner](https://github.com/gsunner))
+- add dependencies for the release script [\#44](https://github.com/SeldonIO/seldon-core/pull/44) ([gsunner](https://github.com/gsunner))
+- Fixed json deployment [\#42](https://github.com/SeldonIO/seldon-core/pull/42) ([cliveseldon](https://github.com/cliveseldon))
+- Updating minikube get started for newest version of the wrappers [\#41](https://github.com/SeldonIO/seldon-core/pull/41) ([Maximophone](https://github.com/Maximophone))
+- helm yaml files updated for release script usage [\#39](https://github.com/SeldonIO/seldon-core/pull/39) ([gsunner](https://github.com/gsunner))
+- release script code [\#38](https://github.com/SeldonIO/seldon-core/pull/38) ([gsunner](https://github.com/gsunner))
+- 17 wrappers docs [\#37](https://github.com/SeldonIO/seldon-core/pull/37) ([Maximophone](https://github.com/Maximophone))
+- Update to python wrapping: put the build and push docker image comman… [\#36](https://github.com/SeldonIO/seldon-core/pull/36) ([Maximophone](https://github.com/Maximophone))
+- seldon-core-examples repo added to main project [\#34](https://github.com/SeldonIO/seldon-core/pull/34) ([gsunner](https://github.com/gsunner))
+- add CI/CD docs [\#32](https://github.com/SeldonIO/seldon-core/pull/32) ([cliveseldon](https://github.com/cliveseldon))
+- Travis update [\#31](https://github.com/SeldonIO/seldon-core/pull/31) ([gsunner](https://github.com/gsunner))
+- Update docs crd [\#29](https://github.com/SeldonIO/seldon-core/pull/29) ([cliveseldon](https://github.com/cliveseldon))
+- 17 wrappers docs [\#28](https://github.com/SeldonIO/seldon-core/pull/28) ([Maximophone](https://github.com/Maximophone))
+- 17 wrappers update [\#27](https://github.com/SeldonIO/seldon-core/pull/27) ([Maximophone](https://github.com/Maximophone))
+
+
+[Changes][v0.1.2]
+
+
+
+## [v0.1.1](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.1) - 10 Jan 2018
+
+Stability release fixes several minor bugs.
+
+[Changes][v0.1.1]
+
+
+
+## [v0.1.0](https://github.com/SeldonIO/seldon-core/releases/tag/v0.1.0) - 03 Jan 2018
+
+Initial release
+
+[Changes][v0.1.0]
+
+
+[v2.8.4]: https://github.com/SeldonIO/seldon-core/compare/v2.8.3...v2.8.4
+[v2.8.3]: https://github.com/SeldonIO/seldon-core/compare/v2.8.2...v2.8.3
+[v2.8.2]: https://github.com/SeldonIO/seldon-core/compare/v1.18.2...v2.8.2
+[v1.18.2]: https://github.com/SeldonIO/seldon-core/compare/v2.8.1...v1.18.2
+[v2.8.1]: https://github.com/SeldonIO/seldon-core/compare/v2.8.0...v2.8.1
+[v2.8.0]: https://github.com/SeldonIO/seldon-core/compare/v1.18.1...v2.8.0
+[v1.18.1]: https://github.com/SeldonIO/seldon-core/compare/v2.8.0-rc2...v1.18.1
+[v2.8.0-rc2]: https://github.com/SeldonIO/seldon-core/compare/v2.8.0-rc1...v2.8.0-rc2
+[v2.8.0-rc1]: https://github.com/SeldonIO/seldon-core/compare/v1.18.0...v2.8.0-rc1
+[v1.18.0]: https://github.com/SeldonIO/seldon-core/compare/v2.7.0...v1.18.0
+[v2.7.0]: https://github.com/SeldonIO/seldon-core/compare/v2.7.0-rc1...v2.7.0
+[v2.7.0-rc1]: https://github.com/SeldonIO/seldon-core/compare/v1.17.1...v2.7.0-rc1
+[v1.17.1]: https://github.com/SeldonIO/seldon-core/compare/v1.17.0...v1.17.1
+[v1.17.0]: https://github.com/SeldonIO/seldon-core/compare/v2.6.0...v1.17.0
+[v2.6.0]: https://github.com/SeldonIO/seldon-core/compare/v2.5.0...v2.6.0
+[v2.5.0]: https://github.com/SeldonIO/seldon-core/compare/v1.16.0...v2.5.0
+[v1.16.0]: https://github.com/SeldonIO/seldon-core/compare/v2.4.0...v1.16.0
+[v2.4.0]: https://github.com/SeldonIO/seldon-core/compare/v1.15.1...v2.4.0
+[v1.15.1]: https://github.com/SeldonIO/seldon-core/compare/v2.3.0...v1.15.1
+[v2.3.0]: https://github.com/SeldonIO/seldon-core/compare/v2.2.0...v2.3.0
+[v2.2.0]: https://github.com/SeldonIO/seldon-core/compare/v2.1.0...v2.2.0
+[v2.1.0]: https://github.com/SeldonIO/seldon-core/compare/v1.15.0...v2.1.0
+[v1.15.0]: https://github.com/SeldonIO/seldon-core/compare/v2.0.0...v1.15.0
+[v2.0.0]: https://github.com/SeldonIO/seldon-core/compare/v1.14.1...v2.0.0
+[v1.14.1]: https://github.com/SeldonIO/seldon-core/compare/v1.14.0...v1.14.1
+[v1.14.0]: https://github.com/SeldonIO/seldon-core/compare/v1.13.1...v1.14.0
+[v1.13.1]: https://github.com/SeldonIO/seldon-core/compare/v1.13.0...v1.13.1
+[v1.13.0]: https://github.com/SeldonIO/seldon-core/compare/v1.12.0...v1.13.0
+[v1.12.0]: https://github.com/SeldonIO/seldon-core/compare/v1.11.2...v1.12.0
+[v1.11.2]: https://github.com/SeldonIO/seldon-core/compare/v1.11.1...v1.11.2
+[v1.11.1]: https://github.com/SeldonIO/seldon-core/compare/v1.11.0...v1.11.1
+[v1.11.0]: https://github.com/SeldonIO/seldon-core/compare/v1.10.0...v1.11.0
+[v1.10.0]: https://github.com/SeldonIO/seldon-core/compare/v1.9.1...v1.10.0
+[v1.9.1]: https://github.com/SeldonIO/seldon-core/compare/v1.9.0...v1.9.1
+[v1.9.0]: https://github.com/SeldonIO/seldon-core/compare/v1.8.0...v1.9.0
+[v1.8.0]: https://github.com/SeldonIO/seldon-core/compare/v1.7.0...v1.8.0
+[v1.7.0]: https://github.com/SeldonIO/seldon-core/compare/v1.6.0...v1.7.0
+[v1.6.0]: https://github.com/SeldonIO/seldon-core/compare/v1.5.1...v1.6.0
+[v1.5.1]: https://github.com/SeldonIO/seldon-core/compare/v1.5.0...v1.5.1
+[v1.5.0]: https://github.com/SeldonIO/seldon-core/compare/v1.4.0...v1.5.0
+[v1.4.0]: https://github.com/SeldonIO/seldon-core/compare/v1.3.0...v1.4.0
+[v1.3.0]: https://github.com/SeldonIO/seldon-core/compare/v1.2.3...v1.3.0
+[v1.2.3]: https://github.com/SeldonIO/seldon-core/compare/v1.2.2...v1.2.3
+[v1.2.2]: https://github.com/SeldonIO/seldon-core/compare/v1.2.1...v1.2.2
+[v1.2.1]: https://github.com/SeldonIO/seldon-core/compare/v1.2.0...v1.2.1
+[v1.2.0]: https://github.com/SeldonIO/seldon-core/compare/v1.1.0...v1.2.0
+[v1.1.0]: https://github.com/SeldonIO/seldon-core/compare/v1.0.2...v1.1.0
+[v1.0.2]: https://github.com/SeldonIO/seldon-core/compare/v1.0.1...v1.0.2
+[v1.0.1]: https://github.com/SeldonIO/seldon-core/compare/v1.0.0...v1.0.1
+[v1.0.0]: https://github.com/SeldonIO/seldon-core/compare/v0.5.1...v1.0.0
+[v0.5.1]: https://github.com/SeldonIO/seldon-core/compare/v0.5.0...v0.5.1
+[v0.5.0]: https://github.com/SeldonIO/seldon-core/compare/v0.4.1...v0.5.0
+[v0.4.1]: https://github.com/SeldonIO/seldon-core/compare/v0.4.0...v0.4.1
+[v0.4.0]: https://github.com/SeldonIO/seldon-core/compare/v0.3.1...v0.4.0
+[v0.3.1]: https://github.com/SeldonIO/seldon-core/compare/v0.3.0...v0.3.1
+[v0.3.0]: https://github.com/SeldonIO/seldon-core/compare/v0.2.7...v0.3.0
+[v0.2.7]: https://github.com/SeldonIO/seldon-core/compare/v0.2.6...v0.2.7
+[v0.2.6]: https://github.com/SeldonIO/seldon-core/compare/v0.2.5...v0.2.6
+[v0.2.5]: https://github.com/SeldonIO/seldon-core/compare/v0.2.4...v0.2.5
+[v0.2.4]: https://github.com/SeldonIO/seldon-core/compare/v0.2.3...v0.2.4
+[v0.2.3]: https://github.com/SeldonIO/seldon-core/compare/v0.2.2...v0.2.3
+[v0.2.2]: https://github.com/SeldonIO/seldon-core/compare/v0.2.1...v0.2.2
+[v0.2.1]: https://github.com/SeldonIO/seldon-core/compare/v0.2.0...v0.2.1
+[v0.2.0]: https://github.com/SeldonIO/seldon-core/compare/v0.1.8...v0.2.0
+[v0.1.8]: https://github.com/SeldonIO/seldon-core/compare/v0.1.7...v0.1.8
+[v0.1.7]: https://github.com/SeldonIO/seldon-core/compare/v0.1.6...v0.1.7
+[v0.1.6]: https://github.com/SeldonIO/seldon-core/compare/v0.1.5...v0.1.6
+[v0.1.5]: https://github.com/SeldonIO/seldon-core/compare/v0.1.4...v0.1.5
+[v0.1.4]: https://github.com/SeldonIO/seldon-core/compare/v0.1.3...v0.1.4
+[v0.1.3]: https://github.com/SeldonIO/seldon-core/compare/v0.1.2...v0.1.3
+[v0.1.2]: https://github.com/SeldonIO/seldon-core/compare/v0.1.1...v0.1.2
+[v0.1.1]: https://github.com/SeldonIO/seldon-core/compare/v0.1.0...v0.1.1
+[v0.1.0]: https://github.com/SeldonIO/seldon-core/tree/v0.1.0
+
+
From 7c884032aa55cef696163fe5b828cbfe0cdc8f2d Mon Sep 17 00:00:00 2001
From: Sherif Akoush
Date: Mon, 14 Oct 2024 20:25:43 +0100
Subject: [PATCH 2/8] feat(k6): Add k6 controlplane with dataplane runs (#5977)
* add control plane tests for constant vu
* add constant rate to the control plane test
* fix typo and rounding
* extract util as helper
---
tests/k6/components/settings.js | 16 ++++++++++++++++
tests/k6/components/utils.js | 18 ++++++++++++++++++
tests/k6/configs/k8s/base/k6.yaml | 8 ++++++++
tests/k6/scenarios/infer_constant_rate.js | 10 +++++++++-
tests/k6/scenarios/infer_constant_vu.js | 10 +++++++++-
5 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/tests/k6/components/settings.js b/tests/k6/components/settings.js
index a762d800fd..503efcc2c1 100644
--- a/tests/k6/components/settings.js
+++ b/tests/k6/components/settings.js
@@ -306,6 +306,20 @@ function enableStateCheck() {
return true
}
+function enableModeReplicaChange() {
+ if (__ENV.ENABLE_MODEL_REPLICA_CHANGE) {
+ return (__ENV.ENABLE_MODEL_REPLICA_CHANGE === "true")
+ }
+ return false
+}
+
+function sleepBetweenModelReplicaChange() {
+ if (__ENV.SLEEP_BETWEEN_REPLICA_CHANGE) {
+ return Number(__ENV.SLEEP_BETWEEN_REPLICA_CHANGE)
+ }
+ return 10
+}
+
export function getConfig() {
return {
"useKubeControlPlane": useKubeControlPlane(),
@@ -348,5 +362,7 @@ export function getConfig() {
"checkStateEverySec": checkStateEverySec(),
"maxCheckTimeSec": maxCheckTimeSec(),
"stopOnCheckFailure": stopOnCheckFailure(),
+ "enableModelReplicaChange": enableModeReplicaChange(),
+ "sleepBetweenModelReplicaChange": sleepBetweenModelReplicaChange(),
}
}
diff --git a/tests/k6/components/utils.js b/tests/k6/components/utils.js
index 3a726f8d04..6e7858b2ab 100644
--- a/tests/k6/components/utils.js
+++ b/tests/k6/components/utils.js
@@ -617,3 +617,21 @@ export function checkPipelinesStateIsConsistent(k8sPipelines, schedPipelines) {
export function checkExperimentsStateIsConsistent(k8sExperiments, schedExperiments) {
return true // to implement
}
+
+export function applyModelReplicaChange(config) {
+ if (config.enableModelReplicaChange) {
+ k8s.init()
+ for (let j = 0; j < config.maxNumModels.length; j++) {
+ if (config.maxNumModels[j] > 0) {
+ const modelId = Math.floor(Math.random() * config.maxNumModels[j])
+ const modelName = config.modelNamePrefix[j] + modelId.toString()
+
+ let replicas = Math.floor(Math.random() * config.maxModelReplicas[j]) + 1
+ const model = generateModel(config.modelType[j], modelName, 1, replicas, config.isSchedulerProxy, config.modelMemoryBytes[j], config.inferBatchSize[j])
+ let opOk = k8s.loadModel(modelName, model.modelCRYaml, true)
+ console.log("Model load %s with replicas %d operation status:",modelName, replicas, opOk)
+ }
+ }
+ sleep(config.sleepBetweenModelReplicaChange)
+ }
+}
diff --git a/tests/k6/configs/k8s/base/k6.yaml b/tests/k6/configs/k8s/base/k6.yaml
index 7eb27d47e8..892c4435dd 100644
--- a/tests/k6/configs/k8s/base/k6.yaml
+++ b/tests/k6/configs/k8s/base/k6.yaml
@@ -111,6 +111,14 @@ spec:
# times more likely than the Create.
# - name: MODEL_CREATE_UPDATE_DELETE_BIAS
# value: "1,3,1"
+ # The following two variables are used to change the model replicas while doing
+ # data plane tests. The ENABLE_MODEL_REPLICA_CHANGE variable should be set to true
+ # to enable the model replica change. The SLEEP_BETWEEN_REPLICA_CHANGE variable
+ # should be set to the number of seconds to wait between changing the model replicas.
+ # - name: ENABLE_MODEL_REPLICA_CHANGE
+ # value: "true"
+ # - name: SLEEP_BETWEEN_REPLICA_CHANGE
+ # value: "10"
- name: WARMUP
value: "false"
- name: GOOGLE_APPLICATION_CREDENTIALS
diff --git a/tests/k6/scenarios/infer_constant_rate.js b/tests/k6/scenarios/infer_constant_rate.js
index 2f63ad9bd8..14de0d8946 100644
--- a/tests/k6/scenarios/infer_constant_rate.js
+++ b/tests/k6/scenarios/infer_constant_rate.js
@@ -1,5 +1,8 @@
import { getConfig } from '../components/settings.js'
-import { doInfer, setupBase, teardownBase, getVersionSuffix } from '../components/utils.js'
+import { doInfer, setupBase, teardownBase, getVersionSuffix, applyModelReplicaChange } from '../components/utils.js'
+import { vu } from 'k6/execution';
+
+var kubeClient = null
export const options = {
thresholds: {
@@ -47,6 +50,11 @@ export default function (config) {
} else {
doInfer(modelName, modelNameWithVersion, config, false, idx)
}
+
+ // for simplicity we only change model replicas in the first VU
+ if (vu.idInTest == 1 && config.enableModelReplicaChange) {
+ applyModelReplicaChange(config)
+ }
}
export function teardown(config) {
diff --git a/tests/k6/scenarios/infer_constant_vu.js b/tests/k6/scenarios/infer_constant_vu.js
index 154bfa656f..e495b3984f 100644
--- a/tests/k6/scenarios/infer_constant_vu.js
+++ b/tests/k6/scenarios/infer_constant_vu.js
@@ -1,5 +1,8 @@
import { getConfig } from '../components/settings.js'
-import { doInfer, setupBase, teardownBase, getVersionSuffix } from '../components/utils.js'
+import { doInfer, setupBase, teardownBase, getVersionSuffix, applyModelReplicaChange } from '../components/utils.js'
+import { vu } from 'k6/execution';
+
+var kubeClient = null
// workaround: https://community.k6.io/t/exclude-http-requests-made-in-the-setup-and-teardown-functions/1525
export let options = {
@@ -53,6 +56,11 @@ export default function (config) {
} else {
throw new Error('Both REST and GRPC protocols are disabled!')
}
+
+ // for simplicity we only change model replicas in the first VU
+ if (vu.idInTest == 1 && config.enableModelReplicaChange) {
+ applyModelReplicaChange(config)
+ }
}
export function teardown(config) {
From c42cda26609cbc3fc53edb8717473ed1a08d4803 Mon Sep 17 00:00:00 2001
From: Abhimanyu Sharma
Date: Tue, 15 Oct 2024 20:04:57 +0530
Subject: [PATCH 3/8] feat: stateful set persistent volume claim retention
policy (#5946)
* feat: stateful set persistent volume claim retention policy
* refactor: naming convention and test case update
* feat: adding statefulSetPersistentVolumeClaimRetentionPolicy crd yaml
---
.../templates/seldon-v2-crds.yaml | 19 +++
k8s/yaml/crds.yaml | 19 +++
operator/apis/mlops/v1alpha1/server_types.go | 3 +
.../mlops/v1alpha1/zz_generated.deepcopy.go | 6 +
.../crd/bases/mlops.seldon.io_servers.yaml | 19 +++
.../reconcilers/server/server_reconciler.go | 1 +
.../server/server_reconciler_test.go | 34 +++++
.../server/statefulset_reconciler.go | 7 +-
.../server/statefulset_reconciler_test.go | 140 +++++++++++++++---
9 files changed, 229 insertions(+), 19 deletions(-)
diff --git a/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml b/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
index 1441c216ba..9dc8142fa3 100644
--- a/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
+++ b/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
@@ -32463,6 +32463,25 @@ spec:
serverConfig:
description: Server definition
type: string
+ statefulSetPersistentVolumeClaimRetentionPolicy:
+ description: StatefulSetPersistentVolumeClaimRetentionPolicy policy
+ for stateful set pvc
+ properties:
+ whenDeleted:
+ description: WhenDeleted specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ deleted. The default policy of `Retain` causes PVCs to not be
+ affected by StatefulSet deletion. The `Delete` policy causes
+ those PVCs to be deleted.
+ type: string
+ whenScaled:
+ description: WhenScaled specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ scaled down. The default policy of `Retain` causes PVCs to not
+ be affected by a scaledown. The `Delete` policy causes the associated
+ PVCs for any excess pods above the replica count to be deleted.
+ type: string
+ type: object
required:
- serverConfig
type: object
diff --git a/k8s/yaml/crds.yaml b/k8s/yaml/crds.yaml
index 8357c0ca0c..f0222aa644 100644
--- a/k8s/yaml/crds.yaml
+++ b/k8s/yaml/crds.yaml
@@ -32471,6 +32471,25 @@ spec:
serverConfig:
description: Server definition
type: string
+ statefulSetPersistentVolumeClaimRetentionPolicy:
+ description: StatefulSetPersistentVolumeClaimRetentionPolicy policy
+ for stateful set pvc
+ properties:
+ whenDeleted:
+ description: WhenDeleted specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ deleted. The default policy of `Retain` causes PVCs to not be
+ affected by StatefulSet deletion. The `Delete` policy causes
+ those PVCs to be deleted.
+ type: string
+ whenScaled:
+ description: WhenScaled specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ scaled down. The default policy of `Retain` causes PVCs to not
+ be affected by a scaledown. The `Delete` policy causes the associated
+ PVCs for any excess pods above the replica count to be deleted.
+ type: string
+ type: object
required:
- serverConfig
type: object
diff --git a/operator/apis/mlops/v1alpha1/server_types.go b/operator/apis/mlops/v1alpha1/server_types.go
index 70abeed049..a668d22b91 100644
--- a/operator/apis/mlops/v1alpha1/server_types.go
+++ b/operator/apis/mlops/v1alpha1/server_types.go
@@ -10,6 +10,7 @@ the Change License after the Change Date as each is defined in accordance with t
package v1alpha1
import (
+ appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"knative.dev/pkg/apis"
@@ -37,6 +38,8 @@ type ServerSpec struct {
// PodSpec overrides
// Slices such as containers would be appended not overridden
PodSpec *PodSpec `json:"podSpec,omitempty"`
+ // StatefulSetPersistentVolumeClaimRetentionPolicy policy for stateful set pvc
+ StatefulSetPersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"statefulSetPersistentVolumeClaimRetentionPolicy,omitempty"`
// Scaling spec
ScalingSpec `json:",inline"`
// +Optional
diff --git a/operator/apis/mlops/v1alpha1/zz_generated.deepcopy.go b/operator/apis/mlops/v1alpha1/zz_generated.deepcopy.go
index a57f1f6cba..aa8dc7dca2 100644
--- a/operator/apis/mlops/v1alpha1/zz_generated.deepcopy.go
+++ b/operator/apis/mlops/v1alpha1/zz_generated.deepcopy.go
@@ -15,6 +15,7 @@ the Change License after the Change Date as each is defined in accordance with t
package v1alpha1
import (
+ appsv1 "k8s.io/api/apps/v1"
"k8s.io/api/core/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
@@ -1411,6 +1412,11 @@ func (in *ServerSpec) DeepCopyInto(out *ServerSpec) {
*out = new(PodSpec)
(*in).DeepCopyInto(*out)
}
+ if in.StatefulSetPersistentVolumeClaimRetentionPolicy != nil {
+ in, out := &in.StatefulSetPersistentVolumeClaimRetentionPolicy, &out.StatefulSetPersistentVolumeClaimRetentionPolicy
+ *out = new(appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy)
+ **out = **in
+ }
in.ScalingSpec.DeepCopyInto(&out.ScalingSpec)
}
diff --git a/operator/config/crd/bases/mlops.seldon.io_servers.yaml b/operator/config/crd/bases/mlops.seldon.io_servers.yaml
index aa2e649153..c0318ccf54 100644
--- a/operator/config/crd/bases/mlops.seldon.io_servers.yaml
+++ b/operator/config/crd/bases/mlops.seldon.io_servers.yaml
@@ -8850,6 +8850,25 @@ spec:
serverConfig:
description: Server definition
type: string
+ statefulSetPersistentVolumeClaimRetentionPolicy:
+ description: StatefulSetPersistentVolumeClaimRetentionPolicy policy
+ for stateful set pvc
+ properties:
+ whenDeleted:
+ description: WhenDeleted specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ deleted. The default policy of `Retain` causes PVCs to not be
+ affected by StatefulSet deletion. The `Delete` policy causes
+ those PVCs to be deleted.
+ type: string
+ whenScaled:
+ description: WhenScaled specifies what happens to PVCs created
+ from StatefulSet VolumeClaimTemplates when the StatefulSet is
+ scaled down. The default policy of `Retain` causes PVCs to not
+ be affected by a scaledown. The `Delete` policy causes the associated
+ PVCs for any excess pods above the replica count to be deleted.
+ type: string
+ type: object
required:
- serverConfig
type: object
diff --git a/operator/controllers/reconcilers/server/server_reconciler.go b/operator/controllers/reconcilers/server/server_reconciler.go
index 3dde7996f9..face497f0f 100644
--- a/operator/controllers/reconcilers/server/server_reconciler.go
+++ b/operator/controllers/reconcilers/server/server_reconciler.go
@@ -137,6 +137,7 @@ func (s *ServerReconciler) createStatefulSetReconciler(server *mlopsv1alpha1.Ser
podSpec,
serverConfig.Spec.VolumeClaimTemplates,
&server.Spec.ScalingSpec,
+ server.Spec.StatefulSetPersistentVolumeClaimRetentionPolicy,
serverConfig.ObjectMeta,
annotator)
return statefulSetReconciler, nil
diff --git a/operator/controllers/reconcilers/server/server_reconciler_test.go b/operator/controllers/reconcilers/server/server_reconciler_test.go
index e2be62b73f..6b6486ad14 100644
--- a/operator/controllers/reconcilers/server/server_reconciler_test.go
+++ b/operator/controllers/reconcilers/server/server_reconciler_test.go
@@ -72,6 +72,40 @@ func TestServerReconcile(t *testing.T) {
expectedSvcNames: []string{"myserver-0"},
expectedStatefulSetName: "myserver",
},
+ {
+ name: "Test StatefulSetPersistentVolumeClaimRetentionPolicy",
+ serverConfig: &mlopsv1alpha1.ServerConfig{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: mlserverConfigName,
+ Namespace: constants.SeldonNamespace,
+ },
+ Spec: mlopsv1alpha1.ServerConfigSpec{
+ PodSpec: v1.PodSpec{
+ Containers: []v1.Container{
+ {
+ Name: "mlserver",
+ Image: "seldonio/mlserver:0.5",
+ },
+ },
+ },
+ },
+ },
+ server: &mlopsv1alpha1.Server{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "myserver",
+ Namespace: constants.SeldonNamespace,
+ },
+ Spec: mlopsv1alpha1.ServerSpec{
+ ServerConfig: mlserverConfigName,
+ StatefulSetPersistentVolumeClaimRetentionPolicy: &appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
+ WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
+ WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
+ },
+ },
+ },
+ expectedSvcNames: []string{"myserver-0"},
+ expectedStatefulSetName: "myserver",
+ },
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
diff --git a/operator/controllers/reconcilers/server/statefulset_reconciler.go b/operator/controllers/reconcilers/server/statefulset_reconciler.go
index b3f15baf84..e4504a9c77 100644
--- a/operator/controllers/reconcilers/server/statefulset_reconciler.go
+++ b/operator/controllers/reconcilers/server/statefulset_reconciler.go
@@ -41,6 +41,7 @@ func NewServerStatefulSetReconciler(
podSpec *v1.PodSpec,
volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim,
scaling *mlopsv1alpha1.ScalingSpec,
+ volumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy,
serverConfigMeta metav1.ObjectMeta,
annotator *patch.Annotator,
) *ServerStatefulSetReconciler {
@@ -48,7 +49,7 @@ func NewServerStatefulSetReconciler(
annotations := utils.MergeMaps(meta.Annotations, serverConfigMeta.Annotations)
return &ServerStatefulSetReconciler{
ReconcilerConfig: common,
- StatefulSet: toStatefulSet(meta, podSpec, volumeClaimTemplates, scaling, labels, annotations),
+ StatefulSet: toStatefulSet(meta, podSpec, volumeClaimTemplates, scaling, volumeClaimRetentionPolicy, labels, annotations),
Annotator: annotator,
}
}
@@ -61,6 +62,7 @@ func toStatefulSet(meta metav1.ObjectMeta,
podSpec *v1.PodSpec,
volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim,
scaling *mlopsv1alpha1.ScalingSpec,
+ volumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy,
labels map[string]string,
annotations map[string]string) *appsv1.StatefulSet {
labels[constants.KubernetesNameLabelKey] = constants.ServerLabelValue
@@ -88,7 +90,8 @@ func toStatefulSet(meta metav1.ObjectMeta,
},
Spec: *podSpec,
},
- PodManagementPolicy: appsv1.ParallelPodManagement,
+ PodManagementPolicy: appsv1.ParallelPodManagement,
+ PersistentVolumeClaimRetentionPolicy: volumeClaimRetentionPolicy,
},
}
diff --git a/operator/controllers/reconcilers/server/statefulset_reconciler_test.go b/operator/controllers/reconcilers/server/statefulset_reconciler_test.go
index 1d7112554d..d61c2b64dc 100644
--- a/operator/controllers/reconcilers/server/statefulset_reconciler_test.go
+++ b/operator/controllers/reconcilers/server/statefulset_reconciler_test.go
@@ -41,14 +41,15 @@ func TestStatefulSetReconcile(t *testing.T) {
g.Expect(err).To(BeNil())
type test struct {
- name string
- metaServer metav1.ObjectMeta
- metaServerConfig metav1.ObjectMeta
- podSpec *v1.PodSpec
- volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim
- scaling *mlopsv1alpha1.ScalingSpec
- existing *appsv1.StatefulSet
- expectedReconcileOp constants.ReconcileOperation
+ name string
+ metaServer metav1.ObjectMeta
+ metaServerConfig metav1.ObjectMeta
+ podSpec *v1.PodSpec
+ volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim
+ scaling *mlopsv1alpha1.ScalingSpec
+ statefulSetPersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy
+ existing *appsv1.StatefulSet
+ expectedReconcileOp constants.ReconcileOperation
}
getIntPtr := func(i int32) *int32 {
@@ -334,6 +335,7 @@ func TestStatefulSetReconcile(t *testing.T) {
test.podSpec,
test.volumeClaimTemplates,
test.scaling,
+ test.statefulSetPersistentVolumeClaimRetentionPolicy,
test.metaServerConfig,
annotator)
rop, err := r.getReconcileOperation()
@@ -355,14 +357,15 @@ func TestToStatefulSet(t *testing.T) {
g := NewGomegaWithT(t)
type test struct {
- name string
- meta metav1.ObjectMeta
- podSpec *v1.PodSpec
- labels map[string]string
- annotations map[string]string
- volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim
- scaling *mlopsv1alpha1.ScalingSpec
- statefulSet *appsv1.StatefulSet
+ name string
+ meta metav1.ObjectMeta
+ podSpec *v1.PodSpec
+ labels map[string]string
+ annotations map[string]string
+ volumeClaimTemplates []mlopsv1alpha1.PersistentVolumeClaim
+ statefulSetPersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy
+ scaling *mlopsv1alpha1.ScalingSpec
+ statefulSet *appsv1.StatefulSet
}
getIntPtr := func(i int32) *int32 {
@@ -459,11 +462,113 @@ func TestToStatefulSet(t *testing.T) {
},
},
},
+ {
+ name: "Basic",
+ meta: metav1.ObjectMeta{
+ Name: "foo",
+ Namespace: "default",
+ },
+ podSpec: &v1.PodSpec{
+ Containers: []v1.Container{
+ {
+ Name: "c1",
+ Image: "myimagec1:1",
+ Command: []string{"cmd"},
+ },
+ },
+ NodeName: "node",
+ },
+ labels: map[string]string{"l1": "l1val"},
+ annotations: map[string]string{"a1": "a1val"},
+ volumeClaimTemplates: []mlopsv1alpha1.PersistentVolumeClaim{
+ {
+ Name: "model-repository",
+ Spec: v1.PersistentVolumeClaimSpec{
+ AccessModes: []v1.PersistentVolumeAccessMode{v1.ReadWriteOnce},
+ Resources: v1.VolumeResourceRequirements{
+ Requests: v1.ResourceList{
+ v1.ResourceStorage: oneG,
+ },
+ },
+ },
+ },
+ },
+ scaling: &mlopsv1alpha1.ScalingSpec{
+ Replicas: getIntPtr(2),
+ },
+ statefulSetPersistentVolumeClaimRetentionPolicy: &appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
+ WhenDeleted: "Delete",
+ WhenScaled: "Delete",
+ },
+ statefulSet: &appsv1.StatefulSet{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "foo",
+ Namespace: "default",
+ Labels: map[string]string{
+ constants.KubernetesNameLabelKey: constants.ServerLabelValue,
+ "l1": "l1val"},
+ Annotations: map[string]string{"a1": "a1val"},
+ },
+ Spec: appsv1.StatefulSetSpec{
+ ServiceName: "foo",
+ Replicas: getIntPtr(2),
+ Selector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{constants.ServerLabelNameKey: "foo"},
+ },
+ Template: v1.PodTemplateSpec{
+ ObjectMeta: metav1.ObjectMeta{
+ Labels: map[string]string{constants.ServerLabelNameKey: "foo",
+ constants.KubernetesNameLabelKey: constants.ServerLabelValue,
+ "l1": "l1val"},
+ Annotations: map[string]string{"a1": "a1val"},
+ Name: "foo",
+ Namespace: "default",
+ },
+ Spec: v1.PodSpec{
+ Containers: []v1.Container{
+ {
+ Name: "c1",
+ Image: "myimagec1:1",
+ Command: []string{"cmd"},
+ },
+ },
+ NodeName: "node",
+ },
+ },
+ PodManagementPolicy: appsv1.ParallelPodManagement,
+ VolumeClaimTemplates: []v1.PersistentVolumeClaim{
+ {
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "model-repository",
+ },
+ Spec: v1.PersistentVolumeClaimSpec{
+ AccessModes: []v1.PersistentVolumeAccessMode{v1.ReadWriteOnce},
+ Resources: v1.VolumeResourceRequirements{
+ Requests: v1.ResourceList{
+ v1.ResourceStorage: oneG,
+ },
+ },
+ },
+ },
+ },
+ PersistentVolumeClaimRetentionPolicy: &appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
+ WhenDeleted: "Delete",
+ WhenScaled: "Delete",
+ },
+ },
+ },
+ },
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
- statefulSet := toStatefulSet(test.meta, test.podSpec, test.volumeClaimTemplates, test.scaling, test.labels, test.annotations)
+ statefulSet := toStatefulSet(test.meta,
+ test.podSpec,
+ test.volumeClaimTemplates,
+ test.scaling,
+ test.statefulSetPersistentVolumeClaimRetentionPolicy,
+ test.labels,
+ test.annotations)
g.Expect(equality.Semantic.DeepEqual(statefulSet, test.statefulSet)).To(BeTrue())
})
}
@@ -523,6 +628,7 @@ func TestLabelsAnnotations(t *testing.T) {
&v1.PodSpec{},
[]mlopsv1alpha1.PersistentVolumeClaim{},
&mlopsv1alpha1.ScalingSpec{},
+ &appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{},
test.metaServerConfig,
annotator)
for k, v := range test.expectedLabels {
From be379f80000bc8b67d767295e10a28b65aeada7c Mon Sep 17 00:00:00 2001
From: Sherif Akoush
Date: Fri, 18 Oct 2024 16:51:54 +0100
Subject: [PATCH 4/8] fix: Use keep alive grpc settings on client side (#5978)
* add keepalive
* increase timeout to 2 secs
* increase keepalive to a minute
---
operator/scheduler/client.go | 11 +++++++++++
scheduler/pkg/agent/client.go | 8 ++++++++
.../pkg/agent/modelserver_controlplane/oip/v2.go | 8 ++++++++
scheduler/pkg/kafka/gateway/client.go | 11 +++++++++++
scheduler/pkg/kafka/gateway/worker.go | 8 ++++++++
scheduler/pkg/kafka/pipeline/status/client.go | 10 ++++++++++
scheduler/pkg/util/constants.go | 15 ++++++++++++---
7 files changed, 68 insertions(+), 3 deletions(-)
diff --git a/operator/scheduler/client.go b/operator/scheduler/client.go
index ce6990493b..a2d0142ade 100644
--- a/operator/scheduler/client.go
+++ b/operator/scheduler/client.go
@@ -22,6 +22,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/grpc/status"
"k8s.io/client-go/tools/record"
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -34,6 +35,9 @@ const (
// these 2 constants in combination with the backoff exponential function will give us a max backoff of 13.5 minutes
SchedulerConnectMaxRetries = 12
SchedulerConnectBackoffScalar = 200 * time.Millisecond
+ ClientKeapAliveTime = 60 * time.Second
+ ClientKeapAliveTimeout = 2 * time.Second
+ ClientKeapAlivePermit = true
)
type SchedulerClient struct {
@@ -224,6 +228,12 @@ func (s *SchedulerClient) connectToScheduler(host string, namespace string, plai
return nil, err
}
}
+ kacp := keepalive.ClientParameters{
+ Time: ClientKeapAliveTime,
+ Timeout: ClientKeapAliveTimeout,
+ PermitWithoutStream: ClientKeapAlivePermit,
+ }
+
retryOpts := []grpc_retry.CallOption{
grpc_retry.WithBackoff(grpc_retry.BackoffExponential(100 * time.Millisecond)),
}
@@ -241,6 +251,7 @@ func (s *SchedulerClient) connectToScheduler(host string, namespace string, plai
}
opts = append(opts, grpc.WithStreamInterceptor(grpc_retry.StreamClientInterceptor(retryOpts...)))
opts = append(opts, grpc.WithUnaryInterceptor(grpc_retry.UnaryClientInterceptor(retryOpts...)))
+ opts = append(opts, grpc.WithKeepaliveParams(kacp))
s.logger.Info("Dialing scheduler", "host", host, "port", port)
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", host, port), opts...)
if err != nil {
diff --git a/scheduler/pkg/agent/client.go b/scheduler/pkg/agent/client.go
index 02d3f36a85..7698df52ab 100644
--- a/scheduler/pkg/agent/client.go
+++ b/scheduler/pkg/agent/client.go
@@ -24,6 +24,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/protobuf/encoding/protojson"
"github.com/seldonio/seldon-core/apis/go/v2/mlops/agent"
@@ -416,9 +417,16 @@ func (c *Client) getConnection(host string, plainTxtPort int, tlsPort int) (*grp
logger.Infof("Connecting (non-blocking) to scheduler at %s:%d", host, port)
+ kacp := keepalive.ClientParameters{
+ Time: util.ClientKeapAliveTime,
+ Timeout: util.ClientKeapAliveTimeout,
+ PermitWithoutStream: util.ClientKeapAlivePermit,
+ }
+
opts := []grpc.DialOption{
grpc.WithTransportCredentials(transCreds),
grpc.WithStatsHandler(otelgrpc.NewClientHandler()),
+ grpc.WithKeepaliveParams(kacp),
}
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", host, port), opts...)
if err != nil {
diff --git a/scheduler/pkg/agent/modelserver_controlplane/oip/v2.go b/scheduler/pkg/agent/modelserver_controlplane/oip/v2.go
index 39fad22bf0..136de4e171 100644
--- a/scheduler/pkg/agent/modelserver_controlplane/oip/v2.go
+++ b/scheduler/pkg/agent/modelserver_controlplane/oip/v2.go
@@ -19,6 +19,7 @@ import (
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/grpc/status"
v2 "github.com/seldonio/seldon-core/apis/go/v2/mlops/v2_dataplane"
@@ -50,12 +51,19 @@ func CreateV2GrpcConnection(v2Config V2Config) (*grpc.ClientConn, error) {
grpc_retry.WithMax(v2Config.GRPRetryMaxCount),
}
+ kacp := keepalive.ClientParameters{
+ Time: util.ClientKeapAliveTime,
+ Timeout: util.ClientKeapAliveTimeout,
+ PermitWithoutStream: util.ClientKeapAlivePermit,
+ }
+
opts := []grpc.DialOption{
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(v2Config.GRPCMaxMsgSizeBytes), grpc.MaxCallSendMsgSize(v2Config.GRPCMaxMsgSizeBytes)),
grpc.WithStreamInterceptor(grpc_retry.StreamClientInterceptor(retryOpts...)),
grpc.WithUnaryInterceptor(grpc_retry.UnaryClientInterceptor(retryOpts...)),
grpc.WithStatsHandler(otelgrpc.NewClientHandler()),
+ grpc.WithKeepaliveParams(kacp),
}
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", v2Config.Host, v2Config.GRPCPort), opts...)
if err != nil {
diff --git a/scheduler/pkg/kafka/gateway/client.go b/scheduler/pkg/kafka/gateway/client.go
index 114c5ff38e..def18eb33f 100644
--- a/scheduler/pkg/kafka/gateway/client.go
+++ b/scheduler/pkg/kafka/gateway/client.go
@@ -22,9 +22,12 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"github.com/seldonio/seldon-core/apis/go/v2/mlops/scheduler"
seldontls "github.com/seldonio/seldon-core/components/tls/v2/pkg/tls"
+
+ "github.com/seldonio/seldon-core/scheduler/v2/pkg/util"
)
const (
@@ -77,9 +80,17 @@ func (kc *KafkaSchedulerClient) ConnectToScheduler(host string, plainTxtPort int
transCreds = kc.certificateStore.CreateClientTransportCredentials()
port = tlsPort
}
+
+ kacp := keepalive.ClientParameters{
+ Time: util.ClientKeapAliveTime,
+ Timeout: util.ClientKeapAliveTimeout,
+ PermitWithoutStream: util.ClientKeapAlivePermit,
+ }
+
// note: retry is done in the caller
opts := []grpc.DialOption{
grpc.WithTransportCredentials(transCreds),
+ grpc.WithKeepaliveParams(kacp),
}
logger.Infof("Connecting to scheduler at %s:%d", host, port)
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", host, port), opts...)
diff --git a/scheduler/pkg/kafka/gateway/worker.go b/scheduler/pkg/kafka/gateway/worker.go
index 6b544c01a1..3852556fdd 100644
--- a/scheduler/pkg/kafka/gateway/worker.go
+++ b/scheduler/pkg/kafka/gateway/worker.go
@@ -32,6 +32,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/grpc/metadata"
"google.golang.org/protobuf/proto"
@@ -123,6 +124,12 @@ func (iw *InferWorker) getGrpcClient(host string, port int) (v2.GRPCInferenceSer
creds = insecure.NewCredentials()
}
+ kacp := keepalive.ClientParameters{
+ Time: util.ClientKeapAliveTime,
+ Timeout: util.ClientKeapAliveTimeout,
+ PermitWithoutStream: util.ClientKeapAlivePermit,
+ }
+
opts := []grpc.DialOption{
grpc.WithTransportCredentials(creds),
grpc.WithDefaultCallOptions(
@@ -135,6 +142,7 @@ func (iw *InferWorker) getGrpcClient(host string, port int) (v2.GRPCInferenceSer
grpc.WithUnaryInterceptor(
grpc_retry.UnaryClientInterceptor(retryOpts...),
),
+ grpc.WithKeepaliveParams(kacp),
}
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", host, port), opts...)
diff --git a/scheduler/pkg/kafka/pipeline/status/client.go b/scheduler/pkg/kafka/pipeline/status/client.go
index 8b9797a89e..df77b4d91d 100644
--- a/scheduler/pkg/kafka/pipeline/status/client.go
+++ b/scheduler/pkg/kafka/pipeline/status/client.go
@@ -22,12 +22,14 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/protobuf/encoding/protojson"
"github.com/seldonio/seldon-core/apis/go/v2/mlops/scheduler"
seldontls "github.com/seldonio/seldon-core/components/tls/v2/pkg/tls"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store/pipeline"
+ "github.com/seldonio/seldon-core/scheduler/v2/pkg/util"
)
const (
@@ -84,9 +86,17 @@ func (pc *PipelineSchedulerClient) connectToScheduler(host string, plainTxtPort
transCreds = pc.certificateStore.CreateClientTransportCredentials()
port = tlsPort
}
+
+ kacp := keepalive.ClientParameters{
+ Time: util.ClientKeapAliveTime,
+ Timeout: util.ClientKeapAliveTimeout,
+ PermitWithoutStream: util.ClientKeapAlivePermit,
+ }
+
// note: retry is done in the caller
opts := []grpc.DialOption{
grpc.WithTransportCredentials(transCreds),
+ grpc.WithKeepaliveParams(kacp),
}
logger.Infof("Connecting to scheduler at %s:%d", host, port)
conn, err := grpc.NewClient(fmt.Sprintf("%s:%d", host, port), opts...)
diff --git a/scheduler/pkg/util/constants.go b/scheduler/pkg/util/constants.go
index dc84fe1165..971c4a860c 100644
--- a/scheduler/pkg/util/constants.go
+++ b/scheduler/pkg/util/constants.go
@@ -9,10 +9,12 @@ the Change License after the Change Date as each is defined in accordance with t
package util
-import "time"
+import (
+ "time"
+)
+// REST
const (
- // REST constants
DefaultReverseProxyHTTPPort = 9999
MaxIdleConnsHTTP = 10
MaxIdleConnsPerHostHTTP = 10
@@ -22,12 +24,19 @@ const (
IdleConnTimeoutSeconds = 60 * 30
)
+// GRPC
const (
GRPCRetryBackoff = 100 * time.Millisecond
GRPCRetryMaxCount = 5 // around 3.2s in total wait duration
GRPCMaxMsgSizeBytes = 1000 * 1024 * 1024
- EnvoyUpdateDefaultBatchWait = 250 * time.Millisecond
GRPCModelServerLoadTimeout = 60 * time.Minute // How long to wait for a model to load? think of LLM Load, maybe should be a config
GRPCModelServerUnloadTimeout = 2 * time.Minute
GRPCControlPlaneTimeout = 1 * time.Minute // For control plane operations except load/unload
)
+
+const (
+ EnvoyUpdateDefaultBatchWait = 250 * time.Millisecond
+ ClientKeapAliveTime = 60 * time.Second
+ ClientKeapAliveTimeout = 2 * time.Second
+ ClientKeapAlivePermit = true
+)
From 5801de69918bcd62af9ca56e416fad55b2847acc Mon Sep 17 00:00:00 2001
From: Niall D <4562759+driev@users.noreply.github.com>
Date: Tue, 22 Oct 2024 11:24:21 +0100
Subject: [PATCH 5/8] feat(envoy): closing off the admin interface (#5936)
* closing off the admin interface
* update hacks
* remove port 9003 from envoy svc
* fixing the service monitor
---
.../templates/seldon-v2-components.yaml | 4 +-
k8s/yaml/components.yaml | 4 +-
operator/config/seldonconfigs/default.yaml | 4 +-
.../reconcilers/seldon/service_reconciler.go | 4 +-
prometheus/monitors/envoy-servicemonitor.yaml | 2 +-
scheduler/config/envoy-compose.yaml | 48 +++++++++++++++++--
scheduler/config/envoy-local.yaml | 48 +++++++++++++++++--
scheduler/config/envoy-tls.yaml | 48 +++++++++++++++++--
scheduler/config/envoy.yaml | 48 +++++++++++++++++--
scheduler/hack/bootstrap.yaml | 3 +-
scheduler/hack/bootstrap_delta.yaml | 3 +-
scheduler/k8s/envoy/envoy.yaml | 2 +-
scheduler/k8s/envoy/svc.yaml | 4 --
scheduler/pkg/envoy/resources/resource.go | 2 +-
14 files changed, 193 insertions(+), 31 deletions(-)
diff --git a/k8s/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml b/k8s/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml
index a704782abe..5fbf251709 100644
--- a/k8s/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml
+++ b/k8s/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml
@@ -1369,12 +1369,12 @@ spec:
- containerPort: 9000
name: http
- containerPort: 9003
- name: envoy-admin
+ name: envoy-stats
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
- port: envoy-admin
+ port: envoy-stats
initialDelaySeconds: 10
periodSeconds: 5
resources:
diff --git a/k8s/yaml/components.yaml b/k8s/yaml/components.yaml
index c64a51b82c..a2d5b9dc41 100644
--- a/k8s/yaml/components.yaml
+++ b/k8s/yaml/components.yaml
@@ -1000,12 +1000,12 @@ spec:
- containerPort: 9000
name: http
- containerPort: 9003
- name: envoy-admin
+ name: envoy-stats
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
- port: envoy-admin
+ port: envoy-stats
initialDelaySeconds: 10
periodSeconds: 5
resources:
diff --git a/operator/config/seldonconfigs/default.yaml b/operator/config/seldonconfigs/default.yaml
index 7fc4c64721..6fa892911d 100644
--- a/operator/config/seldonconfigs/default.yaml
+++ b/operator/config/seldonconfigs/default.yaml
@@ -58,7 +58,7 @@ spec:
- containerPort: 9000
name: http
- containerPort: 9003
- name: envoy-admin
+ name: envoy-stats
resources:
limits:
memory: 128Mi
@@ -68,7 +68,7 @@ spec:
readinessProbe:
httpGet:
path: /ready
- port: envoy-admin
+ port: envoy-stats
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 3
diff --git a/operator/controllers/reconcilers/seldon/service_reconciler.go b/operator/controllers/reconcilers/seldon/service_reconciler.go
index 84874cba9a..b00b57cfa9 100644
--- a/operator/controllers/reconcilers/seldon/service_reconciler.go
+++ b/operator/controllers/reconcilers/seldon/service_reconciler.go
@@ -119,8 +119,8 @@ func getSeldonMeshService(meta metav1.ObjectMeta, serviceConfig mlopsv1alpha1.Se
},
{
Port: 9003,
- TargetPort: intstr.FromString("envoy-admin"),
- Name: "admin",
+ TargetPort: intstr.FromString("envoy-stats"),
+ Name: "stats",
Protocol: v1.ProtocolTCP,
},
},
diff --git a/prometheus/monitors/envoy-servicemonitor.yaml b/prometheus/monitors/envoy-servicemonitor.yaml
index e2b3e31b32..ee82850069 100644
--- a/prometheus/monitors/envoy-servicemonitor.yaml
+++ b/prometheus/monitors/envoy-servicemonitor.yaml
@@ -10,6 +10,6 @@ spec:
matchNames: []
any: false
endpoints:
- - port: admin
+ - port: stats
interval: 15s
path: /stats/prometheus
diff --git a/scheduler/config/envoy-compose.yaml b/scheduler/config/envoy-compose.yaml
index 7362005818..d45b70979c 100644
--- a/scheduler/config/envoy-compose.yaml
+++ b/scheduler/config/envoy-compose.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -14,6 +13,49 @@ static_resources:
port_value: 9002
http2_protocol_options: {}
name: xds_cluster
+ - connect_timeout: 0.250s
+ type: LOGICAL_DNS
+ lb_policy: ROUND_ROBIN
+ load_assignment:
+ cluster_name: admin_interface_cluster
+ endpoints:
+ - lb_endpoints:
+ - endpoint:
+ address:
+ socket_address:
+ address: 127.0.0.1
+ port_value: 9901
+ name: admin_interface_cluster
+ listeners:
+ - name: util_endpoint_listener
+ address:
+ socket_address:
+ address: 0.0.0.0
+ port_value: 9003
+ filter_chains:
+ - filters:
+ - name: envoy.http_connection_manager
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
+ stat_prefix: util_endpoint_http
+ http_filters:
+ - name: envoy.filters.http.router
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
+ route_config:
+ name: local_admin_interface_route
+ virtual_hosts:
+ - name: admin_interface
+ domains: ["*"]
+ routes:
+ - match:
+ prefix: /stats
+ route:
+ cluster: admin_interface_cluster
+ - match:
+ prefix: /ready
+ route:
+ cluster: admin_interface_cluster
dynamic_resources:
cds_config:
resource_api_version: V3
@@ -53,5 +95,5 @@ admin:
access_log_path: /dev/null
address:
socket_address:
- address: 0.0.0.0
- port_value: 9003
+ address: 127.0.0.1
+ port_value: 9901
diff --git a/scheduler/config/envoy-local.yaml b/scheduler/config/envoy-local.yaml
index 2550b835d7..579327175f 100644
--- a/scheduler/config/envoy-local.yaml
+++ b/scheduler/config/envoy-local.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -14,6 +13,49 @@ static_resources:
port_value: 9002
http2_protocol_options: {}
name: xds_cluster
+ - connect_timeout: 0.250s
+ type: LOGICAL_DNS
+ lb_policy: ROUND_ROBIN
+ load_assignment:
+ cluster_name: admin_interface_cluster
+ endpoints:
+ - lb_endpoints:
+ - endpoint:
+ address:
+ socket_address:
+ address: 127.0.0.1
+ port_value: 9901
+ name: admin_interface_cluster
+ listeners:
+ - name: util_endpoint_listener
+ address:
+ socket_address:
+ address: 0.0.0.0
+ port_value: 9003
+ filter_chains:
+ - filters:
+ - name: envoy.http_connection_manager
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
+ stat_prefix: util_endpoint_http
+ http_filters:
+ - name: envoy.filters.http.router
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
+ route_config:
+ name: local_admin_interface_route
+ virtual_hosts:
+ - name: admin_interface
+ domains: ["*"]
+ routes:
+ - match:
+ prefix: /stats
+ route:
+ cluster: admin_interface_cluster
+ - match:
+ prefix: /ready
+ route:
+ cluster: admin_interface_cluster
dynamic_resources:
cds_config:
resource_api_version: V3
@@ -53,5 +95,5 @@ admin:
access_log_path: /dev/null
address:
socket_address:
- address: 0.0.0.0
- port_value: 9003
+ address: 127.0.0.1
+ port_value: 9901
diff --git a/scheduler/config/envoy-tls.yaml b/scheduler/config/envoy-tls.yaml
index 8a0514e185..948bfc7bd9 100644
--- a/scheduler/config/envoy-tls.yaml
+++ b/scheduler/config/envoy-tls.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -27,6 +26,49 @@ static_resources:
name: validation_context_sds
sds_config:
path: /etc/validation_context_sds_secret.yaml
+ - connect_timeout: 0.250s
+ type: LOGICAL_DNS
+ lb_policy: ROUND_ROBIN
+ load_assignment:
+ cluster_name: admin_interface_cluster
+ endpoints:
+ - lb_endpoints:
+ - endpoint:
+ address:
+ socket_address:
+ address: 127.0.0.1
+ port_value: 9901
+ name: admin_interface_cluster
+ listeners:
+ - name: util_endpoint_listener
+ address:
+ socket_address:
+ address: 0.0.0.0
+ port_value: 9003
+ filter_chains:
+ - filters:
+ - name: envoy.http_connection_manager
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
+ stat_prefix: util_endpoint_http
+ http_filters:
+ - name: envoy.filters.http.router
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
+ route_config:
+ name: local_admin_interface_route
+ virtual_hosts:
+ - name: admin_interface
+ domains: ["*"]
+ routes:
+ - match:
+ prefix: /stats
+ route:
+ cluster: admin_interface_cluster
+ - match:
+ prefix: /ready
+ route:
+ cluster: admin_interface_cluster
dynamic_resources:
cds_config:
resource_api_version: V3
@@ -66,5 +108,5 @@ admin:
access_log_path: /dev/null
address:
socket_address:
- address: 0.0.0.0
- port_value: 9003
+ address: 127.0.0.1
+ port_value: 9901
diff --git a/scheduler/config/envoy.yaml b/scheduler/config/envoy.yaml
index a5a647e219..5275cc8b15 100644
--- a/scheduler/config/envoy.yaml
+++ b/scheduler/config/envoy.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -14,6 +13,49 @@ static_resources:
port_value: 9002
http2_protocol_options: {}
name: xds_cluster
+ - connect_timeout: 0.250s
+ type: LOGICAL_DNS
+ lb_policy: ROUND_ROBIN
+ load_assignment:
+ cluster_name: admin_interface_cluster
+ endpoints:
+ - lb_endpoints:
+ - endpoint:
+ address:
+ socket_address:
+ address: 127.0.0.1
+ port_value: 9901
+ name: admin_interface_cluster
+ listeners:
+ - name: util_endpoint_listener
+ address:
+ socket_address:
+ address: 0.0.0.0
+ port_value: 9003
+ filter_chains:
+ - filters:
+ - name: envoy.http_connection_manager
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
+ stat_prefix: util_endpoint_http
+ http_filters:
+ - name: envoy.filters.http.router
+ typed_config:
+ "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
+ route_config:
+ name: local_admin_interface_route
+ virtual_hosts:
+ - name: admin_interface
+ domains: ["*"]
+ routes:
+ - match:
+ prefix: /stats
+ route:
+ cluster: admin_interface_cluster
+ - match:
+ prefix: /ready
+ route:
+ cluster: admin_interface_cluster
dynamic_resources:
cds_config:
resource_api_version: V3
@@ -53,5 +95,5 @@ admin:
access_log_path: /dev/null
address:
socket_address:
- address: 0.0.0.0
- port_value: 9003
+ address: 127.0.0.1
+ port_value: 9901
diff --git a/scheduler/hack/bootstrap.yaml b/scheduler/hack/bootstrap.yaml
index ed735199ad..df0b9bb0d3 100644
--- a/scheduler/hack/bootstrap.yaml
+++ b/scheduler/hack/bootstrap.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -53,4 +52,4 @@ admin:
address:
socket_address:
address: 127.0.0.1
- port_value: 9003
+ port_value: 9901
diff --git a/scheduler/hack/bootstrap_delta.yaml b/scheduler/hack/bootstrap_delta.yaml
index 2d073395f3..3e6aff03d4 100644
--- a/scheduler/hack/bootstrap_delta.yaml
+++ b/scheduler/hack/bootstrap_delta.yaml
@@ -1,4 +1,3 @@
-# Base config for a split xDS management server on 9002, admin port on 9003
static_resources:
clusters:
- connect_timeout: 1s
@@ -53,4 +52,4 @@ admin:
address:
socket_address:
address: 127.0.0.1
- port_value: 9003
+ port_value: 9901
diff --git a/scheduler/k8s/envoy/envoy.yaml b/scheduler/k8s/envoy/envoy.yaml
index 27b8e4bda1..2d8d431add 100644
--- a/scheduler/k8s/envoy/envoy.yaml
+++ b/scheduler/k8s/envoy/envoy.yaml
@@ -45,6 +45,6 @@ spec:
ports:
- name: http
containerPort: 9000
- - name: envoy-admin
+ - name: envoy-stats
containerPort: 9003
terminationGracePeriodSeconds: 5
diff --git a/scheduler/k8s/envoy/svc.yaml b/scheduler/k8s/envoy/svc.yaml
index 6cba090e9f..3829ddbd79 100644
--- a/scheduler/k8s/envoy/svc.yaml
+++ b/scheduler/k8s/envoy/svc.yaml
@@ -11,9 +11,5 @@ spec:
port: 80
targetPort: http
protocol: TCP
- - name: admin
- port: 9003
- targetPort: envoy-admin
- protocol: TCP
selector:
app: seldon-envoy
diff --git a/scheduler/pkg/envoy/resources/resource.go b/scheduler/pkg/envoy/resources/resource.go
index d2285565af..51c0816e2b 100644
--- a/scheduler/pkg/envoy/resources/resource.go
+++ b/scheduler/pkg/envoy/resources/resource.go
@@ -844,7 +844,7 @@ func MakeHTTPListener(listenerName, address string,
// HTTP filter configuration
manager := &hcm.HttpConnectionManager{
CodecType: hcm.HttpConnectionManager_AUTO,
- StatPrefix: "http",
+ StatPrefix: listenerName,
AlwaysSetRequestIdInResponse: false,
GenerateRequestId: &wrappers.BoolValue{Value: false},
RouteSpecifier: &hcm.HttpConnectionManager_Rds{
From 81b3d29327104b182c73d75dc0ffbbce1bfd2652 Mon Sep 17 00:00:00 2001
From: Niall D <4562759+driev@users.noreply.github.com>
Date: Tue, 22 Oct 2024 11:58:47 +0100
Subject: [PATCH 6/8] feat(scheduler): set a ttl on deleted pipelines and
experiments (#5948)
* add ttl to deleted pipeline and experiment DB items
* add pipeline save with ttl test
* fix event source
* update tests for deleted resources
* make pipeline restore defensive
* fixing up experiments to match pipeline
* check for default time
* cleaning up tests
* add cleanup goroutine
* handle errs
* check that the DB is not nil
* PR comment cleanup
* use delete() to remove map entries
---
scheduler/pkg/store/experiment/db.go | 22 ++-
scheduler/pkg/store/experiment/db_test.go | 159 +++++++++++++++++-
scheduler/pkg/store/experiment/experiment.go | 3 +
scheduler/pkg/store/experiment/store.go | 60 +++++--
scheduler/pkg/store/experiment/store_test.go | 16 +-
scheduler/pkg/store/pipeline/db.go | 31 +++-
scheduler/pkg/store/pipeline/db_test.go | 160 ++++++++++++++++++-
scheduler/pkg/store/pipeline/pipeline.go | 1 +
scheduler/pkg/store/pipeline/store.go | 61 +++++--
scheduler/pkg/store/utils/utils.go | 14 +-
10 files changed, 482 insertions(+), 45 deletions(-)
diff --git a/scheduler/pkg/store/experiment/db.go b/scheduler/pkg/store/experiment/db.go
index 1c6ceb68dc..e41f3bd87f 100644
--- a/scheduler/pkg/store/experiment/db.go
+++ b/scheduler/pkg/store/experiment/db.go
@@ -66,10 +66,20 @@ func (edb *ExperimentDBManager) save(experiment *Experiment) error {
if err != nil {
return err
}
- return edb.db.Update(func(txn *badger.Txn) error {
- err = txn.Set([]byte(experiment.Name), experimentBytes)
- return err
- })
+
+ if !experiment.Deleted {
+ return edb.db.Update(func(txn *badger.Txn) error {
+ err = txn.Set([]byte(experiment.Name), experimentBytes)
+ return err
+ })
+ } else {
+ ttl := utils.DeletedResourceTTL
+ return edb.db.Update(func(txn *badger.Txn) error {
+ e := badger.NewEntry([]byte(experiment.Name), experimentBytes).WithTTL(ttl)
+ err = txn.SetEntry(e)
+ return err
+ })
+ }
}
func (edb *ExperimentDBManager) saveVersion() error {
@@ -88,7 +98,8 @@ func (edb *ExperimentDBManager) delete(name string) error {
}
func (edb *ExperimentDBManager) restore(
- startExperimentCb func(*Experiment) error, stopExperimentCb func(*Experiment) error) error {
+ startExperimentCb func(*Experiment) error, stopExperimentCb func(*Experiment) error,
+) error {
return edb.db.View(func(txn *badger.Txn) error {
opts := badger.DefaultIteratorOptions
it := txn.NewIterator(opts)
@@ -108,6 +119,7 @@ func (edb *ExperimentDBManager) restore(
}
experiment := CreateExperimentFromSnapshot(&snapshot)
if experiment.Deleted {
+ experiment.DeletedAt = utils.GetDeletedAt(item)
err = stopExperimentCb(experiment)
} else {
// otherwise attempt to start the experiment
diff --git a/scheduler/pkg/store/experiment/db_test.go b/scheduler/pkg/store/experiment/db_test.go
index 3b1f6795bb..a184ac0505 100644
--- a/scheduler/pkg/store/experiment/db_test.go
+++ b/scheduler/pkg/store/experiment/db_test.go
@@ -12,6 +12,7 @@ package experiment
import (
"fmt"
"testing"
+ "time"
"github.com/dgraph-io/badger/v3"
"github.com/google/go-cmp/cmp"
@@ -71,6 +72,55 @@ func createExperimentProto(experiment *Experiment) *scheduler.Experiment {
}
}
+func TestSaveWithTTL(t *testing.T) {
+ g := NewGomegaWithT(t)
+
+ experiment := &Experiment{
+ Name: "test1",
+ Candidates: []*Candidate{
+ {
+ Name: "model1",
+ Weight: 50,
+ },
+ {
+ Name: "model2",
+ Weight: 50,
+ },
+ },
+ Mirror: &Mirror{
+ Name: "model3",
+ Percent: 90,
+ },
+ Config: &Config{
+ StickySessions: true,
+ },
+ KubernetesMeta: &KubernetesMeta{
+ Namespace: "default",
+ Generation: 2,
+ },
+ Deleted: true,
+ }
+
+ path := fmt.Sprintf("%s/db", t.TempDir())
+ logger := log.New()
+ db, err := newExperimentDbManager(getExperimentDbFolder(path), logger)
+ g.Expect(err).To(BeNil())
+ experiment.DeletedAt = time.Now()
+ err = db.save(experiment)
+ g.Expect(err).To(BeNil())
+
+ var item *badger.Item
+ err = db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(experiment.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).ToNot(BeZero())
+
+ err = db.Stop()
+ g.Expect(err).To(BeNil())
+}
+
func TestSaveAndRestore(t *testing.T) {
g := NewGomegaWithT(t)
type test struct {
@@ -268,6 +318,102 @@ func TestSaveAndRestore(t *testing.T) {
}
}
+func TestSaveAndRestoreDeletedExperiments(t *testing.T) {
+ g := NewGomegaWithT(t)
+ type test struct {
+ name string
+ experiment Experiment
+ withTTL bool
+ }
+
+ getStrPtr := func(val string) *string { return &val }
+
+ createDeletedExperiment := func(name string) Experiment {
+ return Experiment{
+ Name: name,
+ ResourceType: ModelResourceType,
+ Default: getStrPtr("model1"),
+ Candidates: []*Candidate{
+ {
+ Name: "model1",
+ Weight: 50,
+ },
+ {
+ Name: "model2",
+ Weight: 50,
+ },
+ },
+ KubernetesMeta: &KubernetesMeta{
+ Namespace: "default",
+ Generation: 2,
+ },
+ Deleted: true,
+ }
+ }
+
+ tests := []test{
+ {
+ name: "deleted experiment with ttl has deletedAt set",
+ experiment: createDeletedExperiment("with-ttl"),
+ withTTL: true,
+ },
+ {
+ name: "deleted experiment without ttl has deletedAt set after cleanup",
+ experiment: createDeletedExperiment("without-ttl"),
+ withTTL: false,
+ },
+ }
+
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ g.Expect(test.experiment.Deleted).To(BeTrue(), "this is a test for deleted experiments")
+ path := fmt.Sprintf("%s/db", t.TempDir())
+ logger := log.New()
+ edb, err := newExperimentDbManager(getExperimentDbFolder(path), logger)
+ g.Expect(err).To(BeNil())
+ if !test.withTTL {
+ err = saveWithOutTTL(&test.experiment, edb.db)
+ g.Expect(err).To(BeNil())
+ } else {
+ err := edb.save(&test.experiment)
+ g.Expect(err).To(BeNil())
+ }
+ err = edb.Stop()
+ g.Expect(err).To(BeNil())
+
+ es := NewExperimentServer(log.New(), nil, nil, nil)
+ err = es.InitialiseOrRestoreDB(path)
+ g.Expect(err).To(BeNil())
+
+ if !test.withTTL {
+ // check state before cleanup
+ var item *badger.Item
+ err = es.db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(test.experiment.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).To(BeZero())
+ g.Expect(es.experiments[test.experiment.Name]).ToNot(BeNil())
+ g.Expect(es.experiments[test.experiment.Name].DeletedAt.IsZero()).To(BeTrue())
+
+ // check state after cleanup
+ es.cleanupDeletedExperiments()
+ g.Expect(es.experiments[test.experiment.Name].DeletedAt.IsZero()).ToNot(BeTrue())
+ err = es.db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(test.experiment.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).ToNot(BeZero())
+
+ } else {
+ g.Expect(es.experiments[test.experiment.Name].DeletedAt.IsZero()).ToNot(BeTrue())
+ }
+ })
+ }
+}
+
func TestGetExperimentFromDB(t *testing.T) {
g := NewGomegaWithT(t)
type test struct {
@@ -703,7 +849,18 @@ func TestMigrateFromV1ToV2(t *testing.T) {
err = es.InitialiseOrRestoreDB(path)
g.Expect(err).To(BeNil())
g.Expect(len(es.experiments)).To(Equal(0))
-
})
}
}
+
+func saveWithOutTTL(experiment *Experiment, db *badger.DB) error {
+ experimentProto := CreateExperimentSnapshotProto(experiment)
+ experimentBytes, err := proto.Marshal(experimentProto)
+ if err != nil {
+ return err
+ }
+ return db.Update(func(txn *badger.Txn) error {
+ err = txn.Set([]byte(experiment.Name), experimentBytes)
+ return err
+ })
+}
diff --git a/scheduler/pkg/store/experiment/experiment.go b/scheduler/pkg/store/experiment/experiment.go
index 8bdd3bab3a..c9da8bb240 100644
--- a/scheduler/pkg/store/experiment/experiment.go
+++ b/scheduler/pkg/store/experiment/experiment.go
@@ -9,6 +9,8 @@ the Change License after the Change Date as each is defined in accordance with t
package experiment
+import "time"
+
type ResourceType uint32
const (
@@ -20,6 +22,7 @@ type Experiment struct {
Name string
Active bool
Deleted bool
+ DeletedAt time.Time
Default *string
ResourceType ResourceType
Candidates []*Candidate
diff --git a/scheduler/pkg/store/experiment/store.go b/scheduler/pkg/store/experiment/store.go
index d0da902e6a..247946a203 100644
--- a/scheduler/pkg/store/experiment/store.go
+++ b/scheduler/pkg/store/experiment/store.go
@@ -14,6 +14,7 @@ import (
"os"
"path/filepath"
"sync"
+ "time"
"github.com/mitchellh/copystructure"
"github.com/sirupsen/logrus"
@@ -21,15 +22,17 @@ import (
"github.com/seldonio/seldon-core/scheduler/v2/pkg/coordinator"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store/pipeline"
+ "github.com/seldonio/seldon-core/scheduler/v2/pkg/store/utils"
)
const (
- pendingSyncsQueueSize int = 1000
- experimentStartEventSource = "experiment.store.start"
- experimentStopEventSource = "experiment.store.stop"
- modelEventHandlerName = "experiment.store.models"
- pipelineEventHandlerName = "experiment.store.pipelines"
- experimentDbFolder = "experimentdb"
+ deletedExperimentTTL time.Duration = time.Duration(time.Hour * 24)
+ pendingSyncsQueueSize int = 1000
+ experimentStartEventSource = "experiment.store.start"
+ experimentStopEventSource = "experiment.store.stop"
+ modelEventHandlerName = "experiment.store.models"
+ pipelineEventHandlerName = "experiment.store.pipelines"
+ experimentDbFolder = "experimentdb"
)
type ExperimentServer interface {
@@ -57,7 +60,6 @@ type ExperimentStore struct {
}
func NewExperimentServer(logger logrus.FieldLogger, eventHub *coordinator.EventHub, store store.ModelStore, pipelineStore pipeline.PipelineHandler) *ExperimentStore {
-
es := &ExperimentStore{
logger: logger.WithField("source", "experimentServer"),
experiments: make(map[string]*Experiment),
@@ -95,7 +97,7 @@ func getExperimentDbFolder(basePath string) string {
// we just add a reference to the experiment in the memory store
// so that we can keep track of it in case we need to replay the event (to the controller)
// we do not trigger an event though as envoy has a clean state when the scheduler restarts
-func (es *ExperimentStore) AddExperimentInMap(experiment *Experiment) error {
+func (es *ExperimentStore) addExperimentInMap(experiment *Experiment) error {
es.mu.Lock()
defer es.mu.Unlock()
if _, ok := es.experiments[experiment.Name]; !ok {
@@ -120,10 +122,17 @@ func (es *ExperimentStore) InitialiseOrRestoreDB(path string) error {
}
es.db = db
// If database already existed we can restore else this is a noop
- err = es.db.restore(es.StartExperiment, es.AddExperimentInMap)
+ err = es.db.restore(es.StartExperiment, es.addExperimentInMap)
if err != nil {
return err
}
+ go func() {
+ ticker := time.NewTicker(utils.DeletedResourceCleanupFrequency)
+ for range ticker.C {
+ es.cleanupDeletedExperiments()
+ }
+ }()
+
return nil
}
@@ -302,7 +311,7 @@ func (es *ExperimentStore) setStatusImpl(experimentName string, active bool, rea
if experiment, ok := es.experiments[experimentName]; !ok {
return nil, &ExperimentNotFound{experimentName: experimentName}
} else {
- if !experiment.Deleted || !active { //can't reactivate a deleted experiment
+ if !experiment.Deleted || !active { // can't reactivate a deleted experiment
currentActive := experiment.Active
experiment.Active = active
experiment.StatusDescription = reason
@@ -321,7 +330,7 @@ func (es *ExperimentStore) StartExperiment(experiment *Experiment) error {
}
if es.eventHub != nil {
if modelEvt != nil {
- es.eventHub.PublishModelEvent(experimentStateEventSource, *modelEvt)
+ es.eventHub.PublishModelEvent(experimentStartEventSource, *modelEvt)
}
if pipelineEvt != nil {
es.eventHub.PublishPipelineEvent(experimentStartEventSource, *pipelineEvt)
@@ -356,9 +365,8 @@ func (es *ExperimentStore) startExperimentImpl(experiment *Experiment) (*coordin
ModelName: *resourceName,
}
default:
- return nil, nil, nil, fmt.Errorf("Unknown resource type %v", experiment.ResourceType)
+ return nil, nil, nil, fmt.Errorf("unknown resource type %v", experiment.ResourceType)
}
-
}
es.updateExperimentState(experiment)
if es.db != nil {
@@ -381,7 +389,7 @@ func (es *ExperimentStore) StopExperiment(experimentName string) error {
es.eventHub.PublishModelEvent(experimentStopEventSource, *modelEvt)
}
if pipelineEvt != nil {
- es.eventHub.PublishPipelineEvent(experimentStartEventSource, *pipelineEvt)
+ es.eventHub.PublishPipelineEvent(experimentStopEventSource, *pipelineEvt)
}
if expEvt != nil {
es.eventHub.PublishExperimentEvent(experimentStopEventSource, *expEvt)
@@ -399,6 +407,7 @@ func (es *ExperimentStore) stopExperimentImpl(experimentName string) (*coordinat
var modelEvt *coordinator.ModelEventMsg
var pipelineEvt *coordinator.PipelineEventMsg
experiment.Deleted = true
+ experiment.DeletedAt = time.Now()
experiment.Active = false
es.cleanExperimentState(experiment)
if experiment.Default != nil {
@@ -413,7 +422,7 @@ func (es *ExperimentStore) stopExperimentImpl(experimentName string) (*coordinat
ModelName: *experiment.Default,
}
default:
- return nil, nil, nil, fmt.Errorf("Unknown resource type %v", experiment.ResourceType)
+ return nil, nil, nil, fmt.Errorf("unknown resource type %v", experiment.ResourceType)
}
}
if es.db != nil {
@@ -461,3 +470,24 @@ func (es *ExperimentStore) GetExperiments() ([]*Experiment, error) {
}
return foundExperiments, nil
}
+
+func (es *ExperimentStore) cleanupDeletedExperiments() {
+ es.mu.Lock()
+ defer es.mu.Unlock()
+ es.logger.Info("cleaning up deleted experiments")
+ for _, experiment := range es.experiments {
+ if experiment.Deleted {
+ if experiment.DeletedAt.IsZero() {
+ experiment.DeletedAt = time.Now()
+ if es.db != nil {
+ err := es.db.save(experiment)
+ if err != nil {
+ es.logger.Warnf("could not update DB TTL for experiment: %s", experiment.Name)
+ }
+ }
+ } else if experiment.DeletedAt.Add(utils.DeletedResourceTTL).Before(time.Now()) {
+ delete(es.experiments, experiment.Name)
+ }
+ }
+ }
+}
diff --git a/scheduler/pkg/store/experiment/store_test.go b/scheduler/pkg/store/experiment/store_test.go
index f16776f7d6..b6fc5a27b8 100644
--- a/scheduler/pkg/store/experiment/store_test.go
+++ b/scheduler/pkg/store/experiment/store_test.go
@@ -13,6 +13,7 @@ import (
"errors"
"fmt"
"testing"
+ "time"
"github.com/google/go-cmp/cmp"
. "github.com/onsi/gomega"
@@ -372,7 +373,8 @@ func TestRestoreExperiments(t *testing.T) {
Name: "model2",
},
},
- Deleted: false},
+ Deleted: false,
+ },
},
},
{
@@ -394,7 +396,8 @@ func TestRestoreExperiments(t *testing.T) {
Name: "model2",
},
},
- Deleted: false},
+ Deleted: false,
+ },
"b": {Name: "b", Deleted: true},
},
},
@@ -430,10 +433,13 @@ func TestRestoreExperiments(t *testing.T) {
expectedExperiment, ok := test.experiments[p.Name]
g.Expect(ok).To(BeTrue())
g.Expect(expectedExperiment.Deleted).To(Equal(p.Deleted))
- g.Expect(cmp.Equal(p, expectedExperiment)).To(BeTrue())
- }
+ g.Expect(cmp.Equal(p.Name, expectedExperiment.Name)).To(BeTrue())
+ if expectedExperiment.Deleted {
+ g.Expect(expectedExperiment.DeletedAt.Before(time.Now())).To(BeTrue())
+ }
- g.Expect(len(store.experiments)).To(Equal(len(test.experiments)))
+ g.Expect(len(store.experiments)).To(Equal(len(test.experiments)))
+ }
})
}
}
diff --git a/scheduler/pkg/store/pipeline/db.go b/scheduler/pkg/store/pipeline/db.go
index bbf7071f45..f778105796 100644
--- a/scheduler/pkg/store/pipeline/db.go
+++ b/scheduler/pkg/store/pipeline/db.go
@@ -25,7 +25,8 @@ const (
)
type PipelineDBManager struct {
- db *badger.DB
+ db *badger.DB
+ logger logrus.FieldLogger
}
func newPipelineDbManager(path string, logger logrus.FieldLogger) (*PipelineDBManager, error) {
@@ -35,7 +36,8 @@ func newPipelineDbManager(path string, logger logrus.FieldLogger) (*PipelineDBMa
}
pdb := &PipelineDBManager{
- db: db,
+ db: db,
+ logger: logger,
}
version, err := pdb.getVersion()
@@ -54,16 +56,27 @@ func newPipelineDbManager(path string, logger logrus.FieldLogger) (*PipelineDBMa
return pdb, nil
}
+// a nil ttl will save the pipeline indefinitely
func save(pipeline *Pipeline, db *badger.DB) error {
pipelineProto := CreatePipelineSnapshotFromPipeline(pipeline)
pipelineBytes, err := proto.Marshal(pipelineProto)
if err != nil {
return err
}
- return db.Update(func(txn *badger.Txn) error {
- err = txn.Set([]byte(pipeline.Name), pipelineBytes)
- return err
- })
+ if !pipeline.Deleted {
+ return db.Update(func(txn *badger.Txn) error {
+ err = txn.Set([]byte(pipeline.Name), pipelineBytes)
+ return err
+ })
+ } else {
+ // useful for testing
+ ttl := utils.DeletedResourceTTL
+ return db.Update(func(txn *badger.Txn) error {
+ e := badger.NewEntry([]byte(pipeline.Name), pipelineBytes).WithTTL(ttl)
+ err = txn.SetEntry(e)
+ return err
+ })
+ }
}
func (pdb *PipelineDBManager) Stop() error {
@@ -105,10 +118,16 @@ func (pdb *PipelineDBManager) restore(createPipelineCb func(pipeline *Pipeline))
if err != nil {
return err
}
+
pipeline, err := CreatePipelineFromSnapshot(&snapshot)
if err != nil {
return err
}
+
+ if pipeline.Deleted {
+ pipeline.DeletedAt = utils.GetDeletedAt(item)
+ }
+
createPipelineCb(pipeline)
return nil
})
diff --git a/scheduler/pkg/store/pipeline/db_test.go b/scheduler/pkg/store/pipeline/db_test.go
index 868cd10c6f..12d01680fd 100644
--- a/scheduler/pkg/store/pipeline/db_test.go
+++ b/scheduler/pkg/store/pipeline/db_test.go
@@ -14,14 +14,64 @@ import (
"testing"
"time"
+ "github.com/dgraph-io/badger/v3"
"github.com/google/go-cmp/cmp"
. "github.com/onsi/gomega"
log "github.com/sirupsen/logrus"
+ "google.golang.org/protobuf/proto"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store/utils"
)
+func TestSaveWithTTL(t *testing.T) {
+ g := NewGomegaWithT(t)
+ pipeline := &Pipeline{
+ Name: "test",
+ LastVersion: 0,
+ Versions: []*PipelineVersion{
+ {
+ Name: "p1",
+ Version: 0,
+ UID: "x",
+ Steps: map[string]*PipelineStep{
+ "a": {Name: "a"},
+ },
+ State: &PipelineState{
+ Status: PipelineReady,
+ Reason: "deployed",
+ Timestamp: time.Now(),
+ },
+ Output: &PipelineOutput{},
+ KubernetesMeta: &KubernetesMeta{
+ Namespace: "default",
+ },
+ },
+ },
+ Deleted: true,
+ }
+ ttl := time.Duration(time.Second)
+ pipeline.DeletedAt = time.Now().Add(-utils.DeletedResourceTTL).Add(ttl)
+
+ path := fmt.Sprintf("%s/db", t.TempDir())
+ logger := log.New()
+ db, err := newPipelineDbManager(getPipelineDbFolder(path), logger)
+ g.Expect(err).To(BeNil())
+ err = db.save(pipeline)
+ g.Expect(err).To(BeNil())
+
+ var item *badger.Item
+ err = db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(pipeline.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).ToNot(BeZero())
+
+ err = db.Stop()
+ g.Expect(err).To(BeNil())
+}
+
func TestSaveAndRestore(t *testing.T) {
g := NewGomegaWithT(t)
type test struct {
@@ -140,6 +190,103 @@ func TestSaveAndRestore(t *testing.T) {
}
}
+func TestSaveAndRestoreDeletedPipelines(t *testing.T) {
+ g := NewGomegaWithT(t)
+ type test struct {
+ name string
+ pipeline Pipeline
+ withTTL bool
+ }
+
+ createdDeletedPipeline := func(name string) Pipeline {
+ return Pipeline{
+ Name: name,
+ LastVersion: 0,
+ Versions: []*PipelineVersion{
+ {
+ Name: "p1",
+ Version: 0,
+ UID: "x",
+ Steps: map[string]*PipelineStep{
+ "a": {Name: "a"},
+ },
+ State: &PipelineState{
+ Status: PipelineReady,
+ Reason: "deployed",
+ Timestamp: time.Now(),
+ },
+ Output: &PipelineOutput{},
+ KubernetesMeta: &KubernetesMeta{
+ Namespace: "default",
+ },
+ },
+ },
+ Deleted: true,
+ }
+ }
+
+ tests := []test{
+ {
+ name: "test deleted pipeline with TTL should have deletedAt set",
+ pipeline: createdDeletedPipeline("with-ttl"),
+ withTTL: true,
+ },
+ {
+ name: "test deleted pipeline without TTL should have deletedAt set after cleanup",
+ pipeline: createdDeletedPipeline("without-ttl"),
+ withTTL: false,
+ },
+ }
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ g.Expect(test.pipeline.Deleted).To(BeTrue(), "this is a test for deleted pipelines")
+ path := fmt.Sprintf("%s/db", t.TempDir())
+ logger := log.New()
+ pdb, err := newPipelineDbManager(getPipelineDbFolder(path), logger)
+ g.Expect(err).To(BeNil())
+ if !test.withTTL {
+ err = saveWithOutTTL(&test.pipeline, pdb.db)
+ } else {
+ test.pipeline.DeletedAt = time.Now().Add(-utils.DeletedResourceTTL)
+ err = pdb.save(&test.pipeline)
+ }
+ g.Expect(err).To(BeNil())
+ err = pdb.Stop()
+ g.Expect(err).To(BeNil())
+
+ ps := NewPipelineStore(log.New(), nil, fakeModelStore{status: map[string]store.ModelState{}})
+ err = ps.InitialiseOrRestoreDB(path)
+ g.Expect(err).To(BeNil())
+
+ if !test.withTTL {
+ // check state before cleanup
+ var item *badger.Item
+ err = ps.db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(test.pipeline.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).To(BeZero())
+ g.Expect(ps.pipelines[test.pipeline.Name]).ToNot(BeNil())
+ g.Expect(ps.pipelines[test.pipeline.Name].DeletedAt.IsZero()).To(BeTrue())
+
+ // check state after cleanup
+ ps.cleanupDeletedPipelines()
+ g.Expect(ps.pipelines[test.pipeline.Name].DeletedAt.IsZero()).ToNot(BeTrue())
+ err = ps.db.db.View(func(txn *badger.Txn) error {
+ item, err = txn.Get(([]byte(test.pipeline.Name)))
+ return err
+ })
+ g.Expect(err).To(BeNil())
+ g.Expect(item.ExpiresAt()).ToNot(BeZero())
+
+ } else {
+ g.Expect(ps.pipelines[test.pipeline.Name].DeletedAt.IsZero()).ToNot(BeTrue())
+ }
+ })
+ }
+}
+
func TestGetPipelineFromDB(t *testing.T) {
g := NewGomegaWithT(t)
type test struct {
@@ -403,7 +550,18 @@ func TestMigrateFromV1ToV2(t *testing.T) {
version, err := ps.db.getVersion()
g.Expect(err).To(BeNil())
g.Expect(version).To(Equal(currentPipelineSnapshotVersion))
-
})
}
}
+
+func saveWithOutTTL(pipeline *Pipeline, db *badger.DB) error {
+ pipelineProto := CreatePipelineSnapshotFromPipeline(pipeline)
+ pipelineBytes, err := proto.Marshal(pipelineProto)
+ if err != nil {
+ return err
+ }
+ return db.Update(func(txn *badger.Txn) error {
+ err = txn.Set([]byte(pipeline.Name), pipelineBytes)
+ return err
+ })
+}
diff --git a/scheduler/pkg/store/pipeline/pipeline.go b/scheduler/pkg/store/pipeline/pipeline.go
index 80c097bd14..27fc5d6218 100644
--- a/scheduler/pkg/store/pipeline/pipeline.go
+++ b/scheduler/pkg/store/pipeline/pipeline.go
@@ -19,6 +19,7 @@ type Pipeline struct {
LastVersion uint32
Versions []*PipelineVersion
Deleted bool
+ DeletedAt time.Time
}
func (p *Pipeline) GetPipelineVersion(versionNumber uint32) *PipelineVersion {
diff --git a/scheduler/pkg/store/pipeline/store.go b/scheduler/pkg/store/pipeline/store.go
index 761ab8c7c5..d9c056b5dd 100644
--- a/scheduler/pkg/store/pipeline/store.go
+++ b/scheduler/pkg/store/pipeline/store.go
@@ -13,6 +13,7 @@ import (
"os"
"path/filepath"
"sync"
+ "time"
"github.com/mitchellh/copystructure"
"github.com/sirupsen/logrus"
@@ -21,6 +22,7 @@ import (
"github.com/seldonio/seldon-core/scheduler/v2/pkg/coordinator"
"github.com/seldonio/seldon-core/scheduler/v2/pkg/store"
+ "github.com/seldonio/seldon-core/scheduler/v2/pkg/store/utils"
)
const (
@@ -97,6 +99,14 @@ func (ps *PipelineStore) InitialiseOrRestoreDB(path string) error {
if err != nil {
return err
}
+
+ go func() {
+ ticker := time.NewTicker(utils.DeletedResourceCleanupFrequency)
+ for range ticker.C {
+ ps.cleanupDeletedPipelines()
+ }
+ }()
+
return nil
}
@@ -149,7 +159,6 @@ func (ps *PipelineStore) AddPipeline(req *scheduler.Pipeline) error {
}
func (ps *PipelineStore) addPipelineImpl(req *scheduler.Pipeline) (*coordinator.PipelineEventMsg, error) {
- logger := ps.logger.WithField("func", "AddPipeline")
ps.mu.Lock()
defer ps.mu.Unlock()
var pipeline *Pipeline
@@ -160,9 +169,9 @@ func (ps *PipelineStore) addPipelineImpl(req *scheduler.Pipeline) (*coordinator.
LastVersion: 0,
}
} else {
- lastPipeline := pipeline.GetLatestPipelineVersion()
+ latestPipeline := pipeline.GetLatestPipelineVersion()
- switch lastPipeline.State.Status {
+ switch latestPipeline.State.Status {
case PipelineTerminate, PipelineTerminating, PipelineTerminated:
pipeline = &Pipeline{
Name: req.Name,
@@ -170,14 +179,8 @@ func (ps *PipelineStore) addPipelineImpl(req *scheduler.Pipeline) (*coordinator.
}
default:
// Handle repeat Kubernetes resource calls for same generation
- if req.GetKubernetesMeta() != nil &&
- lastPipeline.KubernetesMeta != nil &&
- req.GetKubernetesMeta().Generation > 0 &&
- lastPipeline.KubernetesMeta.Generation > 0 {
- if req.GetKubernetesMeta().Generation == lastPipeline.KubernetesMeta.Generation {
- logger.Infof("Pipeline %s kubernetes meta generation matches %d so will ignore", req.Name, req.KubernetesMeta.Generation)
- return nil, nil
- }
+ if ps.generationMatches(req, latestPipeline) {
+ return nil, nil
}
}
}
@@ -204,6 +207,20 @@ func (ps *PipelineStore) addPipelineImpl(req *scheduler.Pipeline) (*coordinator.
}, nil
}
+func (ps *PipelineStore) generationMatches(req *scheduler.Pipeline, lastPipeline *PipelineVersion) bool {
+ logger := ps.logger.WithField("func", "generationMatches")
+ if req.GetKubernetesMeta() != nil &&
+ lastPipeline.KubernetesMeta != nil &&
+ req.GetKubernetesMeta().Generation > 0 &&
+ lastPipeline.KubernetesMeta.Generation > 0 {
+ if req.GetKubernetesMeta().Generation == lastPipeline.KubernetesMeta.Generation {
+ logger.Infof("Pipeline %s kubernetes meta generation matches %d so will ignore", req.Name, req.KubernetesMeta.Generation)
+ return true
+ }
+ }
+ return false
+}
+
func (ps *PipelineStore) RemovePipeline(name string) error {
logger := ps.logger.WithField("func", "RemovePipeline")
logger.Debugf("Attempt to remove pipeline %s", name)
@@ -233,6 +250,7 @@ func (ps *PipelineStore) removePipelineImpl(name string) (*coordinator.PipelineE
return nil, &PipelineAlreadyTerminatedErr{pipeline: name}
default:
pipeline.Deleted = true
+ pipeline.DeletedAt = time.Now()
lastPipelineVersion.State.setState(PipelineTerminate, "pipeline removed")
if err := ps.db.save(pipeline); err != nil {
ps.logger.WithError(err).Errorf("Failed to save pipeline %s", name)
@@ -426,3 +444,24 @@ func (ps *PipelineStore) handleModelEvents(event coordinator.ModelEventMsg) {
}
}()
}
+
+func (ps *PipelineStore) cleanupDeletedPipelines() {
+ ps.mu.Lock()
+ defer ps.mu.Unlock()
+ ps.logger.Info("cleaning up deleted pipelines")
+ for _, pipeline := range ps.pipelines {
+ if pipeline.Deleted {
+ if pipeline.DeletedAt.IsZero() {
+ pipeline.DeletedAt = time.Now()
+ if ps.db != nil {
+ err := ps.db.save(pipeline)
+ if err != nil {
+ ps.logger.Warnf("could not update DB TTL for pipeline: %s", pipeline.Name)
+ }
+ }
+ } else if pipeline.DeletedAt.Add(utils.DeletedResourceTTL).Before(time.Now()) {
+ delete(ps.pipelines, pipeline.Name)
+ }
+ }
+ }
+}
diff --git a/scheduler/pkg/store/utils/utils.go b/scheduler/pkg/store/utils/utils.go
index 206d81fcc7..5d0b3bd0bc 100644
--- a/scheduler/pkg/store/utils/utils.go
+++ b/scheduler/pkg/store/utils/utils.go
@@ -10,12 +10,16 @@ the Change License after the Change Date as each is defined in accordance with t
package utils
import (
+ "time"
+
"github.com/dgraph-io/badger/v3"
"github.com/sirupsen/logrus"
)
const (
- VersionKey = "__version_key__"
+ VersionKey = "__version_key__"
+ DeletedResourceTTL time.Duration = time.Duration(24 * time.Hour)
+ DeletedResourceCleanupFrequency time.Duration = time.Duration(10 * time.Minute)
)
func Open(path string, logger logrus.FieldLogger, source string) (*badger.DB, error) {
@@ -44,6 +48,14 @@ func SaveVersion(db *badger.DB, version string) error {
})
}
+func GetDeletedAt(item *badger.Item) time.Time {
+ if item.ExpiresAt() == 0 {
+ return time.Time{}
+ } else {
+ return time.Unix(int64(item.ExpiresAt()), 0).Add(-DeletedResourceTTL)
+ }
+}
+
func GetVersion(db *badger.DB, defaultVal string) (string, error) {
var version string = defaultVal
err := db.View(func(txn *badger.Txn) error {
From 752e4895602d711acf9f2238cc9817210ec6c21d Mon Sep 17 00:00:00 2001
From: Sherif Akoush
Date: Thu, 24 Oct 2024 09:34:02 +0100
Subject: [PATCH 7/8] fix: Make status.selector field optional (#5985)
* make Selector field optional for model status
* generate files
---
.../seldon-core-v2-crds/templates/seldon-v2-crds.yaml | 2 --
k8s/yaml/crds.yaml | 2 --
operator/apis/mlops/v1alpha1/model_types.go | 2 +-
operator/config/crd/bases/mlops.seldon.io_models.yaml | 2 --
4 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml b/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
index 9dc8142fa3..e0d2387acf 100644
--- a/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
+++ b/k8s/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml
@@ -343,8 +343,6 @@ spec:
type: integer
selector:
type: string
- required:
- - selector
type: object
type: object
served: true
diff --git a/k8s/yaml/crds.yaml b/k8s/yaml/crds.yaml
index f0222aa644..b22ce50485 100644
--- a/k8s/yaml/crds.yaml
+++ b/k8s/yaml/crds.yaml
@@ -346,8 +346,6 @@ spec:
type: integer
selector:
type: string
- required:
- - selector
type: object
type: object
served: true
diff --git a/operator/apis/mlops/v1alpha1/model_types.go b/operator/apis/mlops/v1alpha1/model_types.go
index 0340497b20..2d51d2a67b 100644
--- a/operator/apis/mlops/v1alpha1/model_types.go
+++ b/operator/apis/mlops/v1alpha1/model_types.go
@@ -107,7 +107,7 @@ type InferenceArtifactSpec struct {
type ModelStatus struct {
// Total number of replicas targeted by this model
Replicas int32 `json:"replicas,omitempty"`
- Selector string `json:"selector"`
+ Selector string `json:"selector,omitempty"`
duckv1.Status `json:",inline"`
}
diff --git a/operator/config/crd/bases/mlops.seldon.io_models.yaml b/operator/config/crd/bases/mlops.seldon.io_models.yaml
index 72b2825f96..4b21b07bcc 100644
--- a/operator/config/crd/bases/mlops.seldon.io_models.yaml
+++ b/operator/config/crd/bases/mlops.seldon.io_models.yaml
@@ -195,8 +195,6 @@ spec:
type: integer
selector:
type: string
- required:
- - selector
type: object
type: object
served: true
From f4461852a3233aef874ed2fadeb6daef947c4107 Mon Sep 17 00:00:00 2001
From: Sherif Akoush
Date: Thu, 24 Oct 2024 10:48:07 +0100
Subject: [PATCH 8/8] fix: Deal with zero servers control plane synchronisation
(#5987)
* fix sync scheduler in the case no servers are connected
* add test for server notify
* notify empty servers
---
operator/scheduler/server.go | 4 +---
scheduler/pkg/server/server_test.go | 9 +++++++++
scheduler/pkg/synchroniser/servers_sync.go | 4 ++++
scheduler/pkg/synchroniser/servers_sync_test.go | 13 ++++++++++++-
4 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/operator/scheduler/server.go b/operator/scheduler/server.go
index 553aca22d7..af1f88fc19 100644
--- a/operator/scheduler/server.go
+++ b/operator/scheduler/server.go
@@ -25,9 +25,6 @@ import (
func (s *SchedulerClient) ServerNotify(ctx context.Context, grpcClient scheduler.SchedulerClient, servers []v1alpha1.Server, isFirstSync bool) error {
logger := s.logger.WithName("NotifyServer")
- if len(servers) == 0 {
- return nil
- }
if grpcClient == nil {
// we assume that all servers are in the same namespace
@@ -74,6 +71,7 @@ func (s *SchedulerClient) ServerNotify(ctx context.Context, grpcClient scheduler
logger.Error(err, "Failed to send notify server to scheduler")
return err
}
+ logger.V(1).Info("Sent notify server to scheduler", "servers", len(servers), "isFirstSync", isFirstSync)
return nil
}
diff --git a/scheduler/pkg/server/server_test.go b/scheduler/pkg/server/server_test.go
index 6262b802e4..26f0623c54 100644
--- a/scheduler/pkg/server/server_test.go
+++ b/scheduler/pkg/server/server_test.go
@@ -743,6 +743,15 @@ func TestServerNotify(t *testing.T) {
},
signalTriggered: true,
},
+ {
+ name: "Initial sync - no servers",
+ req: &pb.ServerNotifyRequest{
+ Servers: []*pb.ServerNotify{},
+ IsFirstSync: true,
+ },
+ expectedServerStates: nil,
+ signalTriggered: true,
+ },
{
// this should not trigger sync.Signal()
name: "normal sync",
diff --git a/scheduler/pkg/synchroniser/servers_sync.go b/scheduler/pkg/synchroniser/servers_sync.go
index c3e8d468cc..60cfd10b0b 100644
--- a/scheduler/pkg/synchroniser/servers_sync.go
+++ b/scheduler/pkg/synchroniser/servers_sync.go
@@ -111,6 +111,10 @@ func (s *ServerBasedSynchroniser) Signals(numSignals uint) {
if swapped {
atomic.AddUint64(&s.maxEvents, uint64(numSignals))
s.signalWg.Done()
+ // in the case where we have no servers to connect, we should trigger the doneFn
+ if numSignals == 0 {
+ s.doneFn()
+ }
}
}
}
diff --git a/scheduler/pkg/synchroniser/servers_sync_test.go b/scheduler/pkg/synchroniser/servers_sync_test.go
index 3a5b2ada4e..6f60a1d712 100644
--- a/scheduler/pkg/synchroniser/servers_sync_test.go
+++ b/scheduler/pkg/synchroniser/servers_sync_test.go
@@ -93,6 +93,13 @@ func TestServersSyncSynchroniser(t *testing.T) {
initialSignals: 0,
context: coordinator.SERVER_REPLICA_CONNECTED,
},
+ {
+ name: "long timeout - no signal", // timeout will not be reached
+ timeout: 200 * time.Second,
+ signals: 0,
+ initialSignals: 0,
+ context: coordinator.SERVER_REPLICA_CONNECTED,
+ },
}
for _, test := range tests {
@@ -140,7 +147,11 @@ func TestServersSyncSynchroniser(t *testing.T) {
}
}
- g.Expect(s.IsReady()).To(BeFalse())
+ if test.signals+test.initialSignals > 0 {
+ g.Expect(s.IsReady()).To(BeFalseBecause("still need to process events"))
+ } else {
+ g.Expect(s.IsReady()).To(BeTrueBecause("no events to process"))
+ }
time.Sleep(100 * time.Millisecond)