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