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)