odo v3.4.0
is now out!
To install odo
, follow the installation guide.
Notable Changes
Check this Playlist for an overview of the most notable changes in this release: https://youtube.com/playlist?list=PLGMB2PY4SNOoGy0Pq38ds0q9I98IJv76M
Potentially breaking changes
Output of odo list services -o json
The group
field has been removed from the JSON output of odo list services
and is now superseded by a new apiVersion
field
(containing information about both the group
and version
).
The service
field has also been updated to include information about the version
.
See #6347 for more details.
Example:
{
"bindableServices": [
{
"name": "cluster-sample",
"namespace": "cmd-describe-list-binding-test549cmw",
"kind": "Cluster",
- "group": "postgresql.k8s.enterprisedb.io",
- "service": "cluster-sample/Cluster.postgresql.k8s.enterprisedb.io"
+ "apiVersion": "postgresql.k8s.enterprisedb.io/v1",
+ "service": "cluster-sample/Cluster.postgresql.k8s.enterprisedb.io/v1"
}
]
}
Features
Using odo
with Podman
Based on your valuable feedback, we have worked on improving the experience of using odo
with Podman.
Note that this is still experimental and requires you to opt in if you want to try it out.
- In #6329, we have added labels to resources created by
odo
on Podman, so we can easily identify and use them. This adds the same labels depicted in How odo works. - With #6366,
odo list component
is now able to list components running on Podman. - With #6328,
odo dev
now supports volumes and volume mounts defined in a Devfile. Volume components allow sharing files among container components. - With #6348,
odo dev
is now able to react to changes in local source files by re-synchronizing changed files and restarting the application running on Podman. - With #6377,
odo dev
no longer hard-codes the exposed host port. Instead, it is able to pick any freely available local port, in a range starting from40001
.
See the demo below for an overview of these changes:
Support for multi-document YAML resource for Devfile Kubernetes components
odo
now supports running Devfile components that are represented by a multi-document YAML.
Automatic application port detection
When running odo init
interactively, we now try to automatically detect as much as possible the ports used in the current application source code.
When information about the ports is available, we customize the initial Devfile accordingly.
Listing Devfile Stack versions
odo registry
(and its JSON counterpart) now displays the Devfile stack versions.
Detailed Changelog
As with every release, you can find the full list of changes and bug fixes on the GitHub release page.
Features/Enhancements:
- Add support for parsing multiple k8s definition in a single Devfile K8s component #6372 (valaparthvi)
- Support Alizer-based automatic port detection with odo init interactive mode #6365 (rm3l)
- Show Devfile Stack versions in "odo registry" output #6397 (rm3l)
- Pass caller to registry telemetry #6382 (feloy)
- Set labels for component on podman #6329 (feloy)
- odo dev on podman: Add support for devfile volume #6328 (feloy)
- Get next free port when forwarding ports on podman #6377 (feloy)
- odo list component shows components running on podman #6366 (feloy)
- Sync files on Podman #6348 (feloy)
Bugs:
- Display a warning when connection to cluster fails #6384 (feloy)
- Improve confirmation message for namespace/project deletion #6383 (rm3l)
- Delay the display of warnings related to experimental features #6375 (feloy)
- Fix: Panic when running odo list namespaces without an active Kubernetes context #6367 (valaparthvi)
- Replace group by apiVersion in odo list services output #6358 (feloy)
- Fix completion error when command is empty #6354 (feloy)
- Run Devfile personalization in interactive mode from empty directory #6351 (anandrkskd)
- Downloading wrong starter project when using
odo init
#6346 (anandrkskd)
Documentation:
- Show IDE plugin usage on Home page and in installation docs #6380 (rm3l)
- Make remaining Quickstart docs consistent #6324 (SD-13)
- Add complete devfiles to advanced guides #6388 (valaparthvi)
- Update build version and release blog post for v3.3.0 #6359 (valaparthvi)
Testing/CI:
- Test with OpenShift cluster non authenticated #6395 (feloy)
- Flake odo add binding in interactive doest show namespace recently created #6391 (anandrkskd)
- replacing timeout with time interval #6369 (anandrkskd)
- updating bindable kind instance #6363 (anandrkskd)
- Integration tests: Declare devfile volumes as ephemeral #6356 (feloy)
- Disable flaky test on Windows #6341 (feloy)
- Integration tests for odo dev running on podman #6332 (feloy)
- E2e scenario 3 #6073 (anandrkskd)
- update env name for ODO_ROBOT_KEY #6393 (anandrkskd)
- Fix flaky behavior with "list namespaces/projects -o json" integration tests #6355 (rm3l)
- fix: add exit code check for no-cluster tests #6345 (anandrkskd)
- Fix potential unit tests failures caused by envconfig relying on the system environment #6344 (rm3l)
Cleanup/Refactor:
- Do not call LogErrorAndExit but return err in GenericRun #6352 (feloy)
- Use go-cmp instead of reflect.DeepEqual to compare unit test results #6343 (rm3l)
- Lower log level for kclient.GetAllResourcesFromSelector #6360 (feloy)
Merged pull requests:
- Bump version to 3.4.0 #6404 (rm3l)
- copy aritifacts only if ARTIFACT_DIR var is exposed #6402 (anandrkskd)
- Website: Bump typescript from 4.9.3 to 4.9.4 in /docs/website #6399 (dependabot[bot])
- Go: Bump github.com/go-openapi/jsonreference from 0.19.5 to 0.20.0 #6398 (dependabot[bot])
- Update registry-library to 19293ac0b8ab #6396 (kadel)
- Update to latest Alizer #6378 (kadel)
- Website: Bump webpack from 5.74.0 to 5.75.0 in /docs/website #6370 (dependabot[bot])
- Update OWNERS #6361 (kadel)
- Website: Bump trim from 0.0.3 to 1.0.1 in /docs/website #6349 (dependabot[bot])
- add anand to owner file as reviewer and approver #6326 (anandrkskd)
- Automate release process (GitHub part) #6403 (rm3l)
- Set Priority field in GitHub Project item based on the 'priority/*' label on the issue #6400 (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 and learn more about odo
.
odo
is your playground!
Read the developer reference guide on contributing to odo to know more.