> For the complete documentation index, see [llms.txt](https://docs.seldon.ai/seldon-enterprise-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seldon.ai/seldon-enterprise-platform/upgrading/pre-ga.md).

# Pre GA versions

## Upgrading to 0.9.0

* Seldon Deploy 0.9.0 uses Knative 0.18.
* For upgrading Seldon Deploy specifically
  * A license is required at app install/startup time. Contact Seldon for a license.
  * Seldon Core Analytics or Prometheus needs to be upgraded. Prometheus recording rules have been introduced. See `Getting Started > Production Installation > Metrics Monitoring`
  * If Seldon Core Analytics is used, upgrade with using `seldon-deploy-install/prerequisites-setup/prometheus/seldon-core-analytics.sh` from the scripts extracted from [installation resources](/seldon-enterprise-platform/production-environment/observability-alerting/observability.md#installing-kube-prometheus)
  * Upgrading Seldon Core Analytics will reset prometheus data.
  * The `requestLogger.image` in the Helm values file is now `docker.io/seldonio/seldon-request-logger:1.3.0-json`
  * The `requestLogger.trigger` in the Helm values now has `apiVersion` "eventing.knative.dev/v1" and `broker` "default".
  * The `alibidetect.image` in the Helm values is now `seldonio/alibi-detect-server:1.4.0`.
  * There is a new `batchjobs` section in the Helm values.

## Upgrading to 0.8.2

* In installations that have restricted external access (eg. air gapped), the following image will need to be downloaded:
  * docker.io/seldonio/seldon-request-logger:1.3.0-json

## Upgrading to 0.8.0

* The sd-install script is now called sd-install-default. Or for a kubeflow install there's sd-install-kubeflow.
* The helm values file now has a single gitops section. This involves the following changes.

  * The recommended way to configure git credentials is in a git secret, though a token parameter to the chart can still be used.
  * The sd-install-default script contains an example of this. It is:

  ```bash
  kubectl create secret generic git-creds -n seldon-system --from-file ~/.ssh/id_rsa --from-file ~/.ssh/known_hosts --from-literal=passphrase="$GIT_SSHKEY_PASSPHRASE" --from-literal=username="$GIT_USER" --from-literal=token="$GIT_TOKEN" --from-literal=email="$GIT_EMAIL"  --dry-run -o yaml | kubectl apply -f -
  ```
* skipVerifyGit, gitwebhook, GITOPS\_FORMAT and argocd config have all moved from `github` to the new `gitops` section in helm values file, see [documentation](/seldon-enterprise-platform/production-environment/gitops.md#configuring-git-credentials).
* if your ArgoCD Application does not follow naming pattern `seldon-gitops-${namespace}`, please, specify the ArgoCD application using namespace labels, see [documentation](/seldon-enterprise-platform/production-environment/gitops.md#enabling-a-namespace-for-gitops).
* The contents of the helm chart have also changed. In particular:
  * The istio virtual service no longer does path rewriting.
  * Permission is now required to watch argocd applications.
  * The liveness and readiness probes are now on `/seldon-deploy/api/status`

## Upgrading to 0.7.0

* The Deploy helm chart now contains an option to install a request logger in the seldon-logs namespace. This is on by default. Previously loggers were per-namespace. To use a single request logger installed through the chart, ensure the seldon-logs namespace is labelled for knative-eventing and that seldon core is v1.2.1 and has executor.requestLogger.defaultEndpoint <http://default-broker.seldon-logs>. For KfServing, if using it, the default broker will for now continue to be in the current namespace unless set at the point of creating the model deployment.
* The helm values file has seen some changes.
  * There’s now a request logger section for installing the request logger to a dedicated namespace, if desired.
  * The istioIngress section has been renamed ingressGateway
  * There are extra options in the Prometheus section for using a secured Prometheus (assumes not secure by default, as before).
  * There are extra options in the Elasticsearch section for using a secured Prometheus (assumes not secure by default, as before).
