Skip to content

Commit

Permalink
Release PR for v3.9.0 (#6718)
Browse files Browse the repository at this point in the history
* Set version in build/VERSION file

* Bump version in installation docs

* Add release blog post

* Update release announcement blog post

---------

Co-authored-by: rm3l <[email protected]>
Co-authored-by: Armel Soro <[email protected]>
  • Loading branch information
3 people authored Apr 11, 2023
1 parent c941fbd commit fa9524e
Show file tree
Hide file tree
Showing 3 changed files with 179 additions and 18 deletions.
2 changes: 1 addition & 1 deletion build/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v3.8.0
v3.9.0
161 changes: 161 additions & 0 deletions docs/website/blog/2023-04-05-odo-v3.9.0.md
Original file line number Diff line number Diff line change
@@ -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!

<!--truncate-->

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))

<iframe width="560" height="315" src="https://www.youtube.com/embed/6fbx5fy77H4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

:::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).

<iframe width="560" height="315" src="https://www.youtube.com/embed/SME6ctHsME0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

#### 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.
34 changes: 17 additions & 17 deletions docs/website/docs/overview/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand All @@ -64,12 +64,12 @@ Installing `odo` on `arm64` 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-arm64 -o odo
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-arm64 -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-arm64.sha256 -o odo.sha256
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-arm64.sha256 -o odo.sha256
echo "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand All @@ -95,12 +95,12 @@ Installing `odo` on `ppc64le` 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-ppc64le -o odo
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-ppc64le -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-ppc64le.sha256 -o odo.sha256
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-ppc64le.sha256 -o odo.sha256
echo "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand All @@ -126,12 +126,12 @@ Installing `odo` on `s390x` 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-s390x -o odo
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-s390x -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-s390x.sha256 -o odo.sha256
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-linux-s390x.sha256 -o odo.sha256
echo "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand Down Expand Up @@ -190,12 +190,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-darwin-amd64 -o odo
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-darwin-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-darwin-amd64.sha256 -o odo.sha256
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-darwin-amd64.sha256 -o odo.sha256
echo "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand All @@ -222,12 +222,12 @@ Installing `odo` on `arm64` 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-darwin-arm64 -o odo
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-darwin-arm64 -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-darwin-arm64.sha256 -o odo.sha256
curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.9.0/odo-darwin-arm64.sha256 -o odo.sha256
echo "$(<odo.sha256) odo" | shasum -a 256 --check
```

Expand Down Expand Up @@ -258,12 +258,12 @@ echo 'export PATH=$PATH:$HOME/bin' >> ~/.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
Expand Down Expand Up @@ -333,14 +333,14 @@ 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
The [asdf version manager](https://asdf-vm.com/) is a tool for managing multiple runtime versions using a common CLI.
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
```

0 comments on commit fa9524e

Please sign in to comment.