diff --git a/build/VERSION b/build/VERSION
index 40c06ccb7a4..5f22788f5db 100644
--- a/build/VERSION
+++ b/build/VERSION
@@ -1 +1 @@
-v3.8.0
+v3.9.0
diff --git a/docs/website/blog/2023-04-05-odo-v3.9.0.md b/docs/website/blog/2023-04-05-odo-v3.9.0.md
new file mode 100644
index 00000000000..1c02af10ed6
--- /dev/null
+++ b/docs/website/blog/2023-04-05-odo-v3.9.0.md
@@ -0,0 +1,161 @@
+---
+title: odo v3.9.0 Released
+author: Armel Soro
+author_url: https://github.com/rm3l
+author_image_url: https://github.com/rm3l.png
+tags: ["release"]
+slug: odo-v3.9.0
+---
+
+odo `v3.9.0` is now out!
+
+
+
+To install `odo`, follow [the installation guide](../docs/overview/installation).
+
+## Notable Changes
+Check the following Playlists for an overview of the most notable changes in this release:
+- [Sprint 233](https://youtube.com/playlist?list=PLGMB2PY4SNOpG3YAym5SC7JetOI_PBHkR)
+- [`odo` v3.9.0 (Sprint 234)](https://youtube.com/playlist?list=PLGMB2PY4SNOrgL0v6S1iu-JDGemn554_8)
+
+### Deprecation notice
+
+#### `odo registry --details` without `--devfile`
+
+We are deprecating the usage of `odo registry --details` without `--devfile`.
+Using `odo registry --details` without `--devfile` still works, but might take very long to return information.
+
+`--details` allows to get more details about a specific Devfile stack, and was not intended to be used without specifying `--devfile`.
+
+The correct usage of `odo registry --details` is by specifying the additional `--devfile` flag.
+
+See the [command reference page](/docs/command-reference/registry/) for more details and examples.
+
+### Features
+
+#### Pod Security Admission support
+
+Kubernetes v1.25 introduced [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/) defining different isolation levels for Pods,
+along with a Pod Security admission controller to enforce those standards.
+Namespaces can be [labeled](https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/) to enforce the Pod Security Standards,
+meaning that a Pod can be rejected if it is not compliant with the security restrictions defined.
+
+See [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) for more details.
+
+When used against a Kubernetes or OpenShift cluster, `odo` is now able to automatically detect if the current namespace has such restrictions enforced;
+and if so, it can dynamically adjust the specifications of the Pods it creates such that they are approved by the Pod Security admission controller.
+This applies to resources created automatically by the following `odo` commands:
+- `odo dev`: Pod created by `odo` to spin up a Development session
+- `odo deploy`: Kubernetes Jobs created by `odo` when invoking `exec` commands during `deploy` (see [How `odo` runs `exec` commands in Deploy mode](/docs/development/devfile#how-odo-runs-exec-commands-in-deploy-mode))
+
+
+
+:::info
+Bear in mind that you can always customize those resources through `pod-overrides` and `container-overrides` attributes in the Devfile.
+See [Extending Kubernetes resources](https://devfile.io/docs/2.2.0/overriding-pod-and-container-attributes).
+:::
+
+#### Support for `autoBuild` and `deployByDefault` Devfile fields
+
+To clarify which Devfile components should get created/applied automatically, the [Devfile](https://devfile.io/) specification introduced two new fields:
+- `autoBuild` on [`Image`](https://devfile.io/docs/2.2.0/adding-an-image-component#procedure) components;
+- `deployByDefault` on [`Kubernetes`](https://devfile.io/docs/2.2.0/adding-a-kubernetes-or-openshift-component#procedure) and [`OpenShift`](https://devfile.io/docs/2.2.0/adding-a-kubernetes-or-openshift-component#procedure) components
+
+`odo` now supports those fields, following the rules depicted in [our Devfile reference page](/docs/development/devfile#how-odo-determines-components-that-are-applied-automatically).
+
+
+
+#### Component name added to `odo analyze`
+
+`odo analyze` now includes a new `name` field in its output, representing the name of the application if was detected automatically or the current directory name.
+
+See the [command reference page](/docs/command-reference/json-output#odo-analyze--o-json) for more details.
+
+Example:
+
+```diff
+[
+ {
+ "devfile": "dotnet50",
+ "ports": [
+ 3000
+ ],
+ "devfileRegistry": "DefaultDevfileRegistry",
+- "devfileVersion": "1.0.3"
++ "devfileVersion": "1.0.3",
++ "name": "my-dotnet-backend"
+ }
+]
+```
+
+## Detailed Changelog
+
+As with every release, you can find the full list of changes and bug fixes on the [GitHub release page](https://github.com/redhat-developer/odo/releases/tag/v3.9.0).
+
+[Full Changelog](https://github.com/redhat-developer/odo/compare/v3.8.0...v3.9.0)
+
+### Features/Enhancements
+
+- Patch Pods to pass pod security admission [\#6602](https://github.com/redhat-developer/odo/pull/6602) ([feloy](https://github.com/feloy))
+- Pod Security Admission support for `odo deploy` [\#6679](https://github.com/redhat-developer/odo/pull/6679) ([feloy](https://github.com/feloy))
+- Speedup `odo registry --details` [\#6678](https://github.com/redhat-developer/odo/pull/6678) ([feloy](https://github.com/feloy))
+- Support `autoBuild` and `deployByDefault` on Image and Kubernetes/OpenShift components [\#6654](https://github.com/redhat-developer/odo/pull/6654) ([rm3l](https://github.com/rm3l))
+- Add name detection to `odo analyze` [\#6682](https://github.com/redhat-developer/odo/pull/6682) ([valaparthvi](https://github.com/valaparthvi))
+- `odo dev`/`odo deploy` should display a warning about default namespace on cluster [\#6688](https://github.com/redhat-developer/odo/pull/6688) ([valaparthvi](https://github.com/valaparthvi))
+
+### Bugs
+
+- `odo analyze` reporting wrong Devfile (nodejs instead of python) [\#6707](https://github.com/redhat-developer/odo/pull/6707) ([kadel](https://github.com/kadel))
+- Fix problem when odo deploy processes do not terminate [\#6716](https://github.com/redhat-developer/odo/pull/6716) ([feloy](https://github.com/feloy))
+- Fix issue preventing app from being restarted if `/proc/[pid]/task/[tid]/children` is missing in container \(case of Minikube with VirtualBox or KVM drivers\) [\#6690](https://github.com/redhat-developer/odo/pull/6690) ([rm3l](https://github.com/rm3l))
+- Fix: `odo init` does not ask for starter project if the Devfile stack contains extra files [\#6684](https://github.com/redhat-developer/odo/pull/6684) ([valaparthvi](https://github.com/valaparthvi))
+- Fix UX issue when exec command fails to run as part of a deploy command [\#6673](https://github.com/redhat-developer/odo/pull/6673) ([rm3l](https://github.com/rm3l))
+- Fix issue with conflicting ports when starting multiple Dev sessions on Podman [\#6660](https://github.com/redhat-developer/odo/pull/6660) ([rm3l](https://github.com/rm3l))
+- Fix error handling when trying to delete remote resources not present in Devfile [\#6659](https://github.com/redhat-developer/odo/pull/6659) ([rm3l](https://github.com/rm3l))
+- Downloading a starter project with `odo init` should no longer replace the contents of the current directory [\#6633](https://github.com/redhat-developer/odo/pull/6633) ([valaparthvi](https://github.com/valaparthvi))
+
+### Documentation
+
+- Document Podman limitations [\#6653](https://github.com/redhat-developer/odo/pull/6653) ([feloy](https://github.com/feloy))
+- Documentation: Debugging with OpenShift Toolkit [\#6691](https://github.com/redhat-developer/odo/pull/6691) ([valaparthvi](https://github.com/valaparthvi))
+- Add doc and blog post about using in-cluster Devfile registries [\#6689](https://github.com/redhat-developer/odo/pull/6689) ([rm3l](https://github.com/rm3l))
+- Documentation: How odo supports exec on Deploy [\#6672](https://github.com/redhat-developer/odo/pull/6672) ([valaparthvi](https://github.com/valaparthvi))
+
+### Merged pull requests
+
+- Bump version to 3.9.0 [\#6717](https://github.com/redhat-developer/odo/pull/6717) ([rm3l](https://github.com/rm3l))
+- Update the PR template [\#6712](https://github.com/redhat-developer/odo/pull/6712) ([valaparthvi](https://github.com/valaparthvi))
+- Exit a test early if a session has exited while waiting for an output to contain a substring [\#6711](https://github.com/redhat-developer/odo/pull/6711) ([valaparthvi](https://github.com/valaparthvi))
+- Fix nodejs-react versions on generated doc [\#6710](https://github.com/redhat-developer/odo/pull/6710) ([feloy](https://github.com/feloy))
+- Add DEVFILE\_REGISTRY env var for periodic tests [\#6709](https://github.com/redhat-developer/odo/pull/6709) ([feloy](https://github.com/feloy))
+- Website: Bump @svgr/webpack from 6.5.1 to 7.0.0 in /docs/website [\#6708](https://github.com/redhat-developer/odo/pull/6708) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Update alizer [\#6707](https://github.com/redhat-developer/odo/pull/6707) ([kadel](https://github.com/kadel))
+- Get DEVFILE\_REGISTRY value for tests, to use local Registry [\#6705](https://github.com/redhat-developer/odo/pull/6705) ([feloy](https://github.com/feloy))
+- Website: Bump `@docusaurus/*` from 2.3.1 to 2.4.0 in /docs/website [\#6685](https://github.com/redhat-developer/odo/pull/6685) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Go: Bump golang.org/x/sync from 0.0.0-20220722155255-886fb9371eb4 to 0.1.0 [\#6665](https://github.com/redhat-developer/odo/pull/6665) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Website: Bump @tsconfig/docusaurus from 1.0.6 to 1.0.7 in /docs/website [\#6664](https://github.com/redhat-developer/odo/pull/6664) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Go: Bump github.com/operator-framework/api from 0.14.1-0.20220413143725-33310d6154f3 to 0.17.3 [\#6656](https://github.com/redhat-developer/odo/pull/6656) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Website: Bump webpack from 5.75.0 to 5.76.1 in /docs/website [\#6655](https://github.com/redhat-developer/odo/pull/6655) ([dependabot[bot]](https://github.com/apps/dependabot))
+- Update alizer dependency [\#6650](https://github.com/redhat-developer/odo/pull/6650) ([kadel](https://github.com/kadel))
+- Fix potential issue with `odo describe component` integration tests when Podman is installed [\#6642](https://github.com/redhat-developer/odo/pull/6642) ([rm3l](https://github.com/rm3l))
+
+
+## Contributing to odo
+
+If `odo` interests you, and you would like to contribute to it, we welcome you!
+
+You can contribute to `odo` in a lot of different ways!
+
+Take it for a spin 🚘 and report back bugs🐞 that you encountered, or features🌟 that you would like to see.
+
+Help us with the documentation📜, or tell us how you used `odo` 🖍.
+
+Review the PRs👀, or help us fix a failing test 🚩.
+
+Work on the TODOs📝, or help us cleanup the code🚮.
+
+Or, simply tune in📻 to our [contributor calls](https://github.com/redhat-developer/odo#meetings) and learn more about `odo`.
+
+`odo` is your playground!
+
+Read the developer reference guide on [contributing to odo](/docs/development/contribution) to know more.
diff --git a/docs/website/docs/overview/installation.md b/docs/website/docs/overview/installation.md
index a4a9b6f1420..776e9656e1e 100644
--- a/docs/website/docs/overview/installation.md
+++ b/docs/website/docs/overview/installation.md
@@ -33,12 +33,12 @@ Installing `odo` on `amd64` architecture:
1. Download the latest release from the mirror:
```shell
-curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.8.0/odo-linux-amd64 -o odo
+curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-amd64 -o odo
```
2. (Optional) Verify the downloaded binary with the SHA-256 sum:
```shell
-curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.8.0/odo-linux-amd64.sha256 -o odo.sha256
+curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-amd64.sha256 -o odo.sha256
echo "$(> ~/.bashrc
2. Download the latest release from the mirror:
```shell
-curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.8.0/odo-windows-amd64.exe -o odo.exe
+curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-windows-amd64.exe -o odo.exe
```
2. (Optional) Verify the downloaded binary with the SHA-256 sum:
```shell
-curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.8.0/odo-windows-amd64.exe.sha256 -o odo.exe.sha256
+curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-windows-amd64.exe.sha256 -o odo.exe.sha256
# Visually compare the output of both files
Get-FileHash odo.exe
type odo.exe.sha256
@@ -333,7 +333,7 @@ The download can be executed using the `download` goal which automatically retri
```shell
mvn software.tnb:odo-downloader-maven-plugin:0.1.3:download \
-Dodo.target.file=$HOME/bin/odo \
- -Dodo.version=v3.8.0
+ -Dodo.version=v3.9.0
```
### asdf
@@ -341,6 +341,6 @@ The [asdf version manager](https://asdf-vm.com/) is a tool for managing multiple
With `asdf` installed, the [asdf plugin for odo](https://github.com/rm3l/asdf-odo) can be used to install any released version of `odo`:
```
asdf plugin add odo
-asdf install odo 3.8.0
-asdf global odo 3.8.0
+asdf install odo 3.9.0
+asdf global odo 3.9.0
```