Skip to content

Conversation

amparo-siemens
Copy link
Contributor

Description

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

Copy link
Member

@Pakisan Pakisan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add bindingVersion

Copy link

Pakisan
Pakisan previously approved these changes Jun 27, 2025
Copy link
Member

@Pakisan Pakisan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Pakisan
Copy link
Member

Pakisan commented Jun 27, 2025

@amparo-siemens

Approved

Do you have protocol description and logo?

I'm collecting our schemas under one roof to patch them for various range of external tools

So I want to add your bindings and create proper OG image. Like this

image

@amparo-siemens
Copy link
Contributor Author

Approved

Do you have protocol description and logo?

I'm collecting our schemas under one roof to patch them for various range of external tools

So I want to add your bindings and create proper OG image. Like this

Protocol description: The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. Full project details on ROS.org

Logo: https://www.ros.org/imgs/ROSPressKit.zip --> Any inside in the "ROS2 Logos" folder.

@amparo-siemens
Copy link
Contributor Author

Is there anything pending here @Pakisan? 😄

@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

Is there anything pending here @Pakisan? 😄

Sorry, lost focus. Thought that everything is ok and will be merged automatically

Looking what's went wrong

Copy link

sonarqubecloud bot commented Aug 8, 2025

@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

Is there anything pending here @Pakisan? 😄

Sorry, lost focus. Thought that everything is ok and will be merged automatically

Looking what's went wrong

@amparo-siemens MR was patched

Check it out and after that it will be ready to merge

fyi: @derberg @char0n @jonaslagoni

Copy link
Member

@Pakisan Pakisan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@amparo-siemens
Copy link
Contributor Author

Is there anything pending here @Pakisan? 😄

Sorry, lost focus. Thought that everything is ok and will be merged automatically
Looking what's went wrong

@amparo-siemens MR was patched

Check it out and after that it will be ready to merge

fyi: @derberg @char0n @jonaslagoni

It looks good to me, thanks for your help

Copy link
Member

@jonaslagoni jonaslagoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤙

@Pakisan Pakisan merged commit 00a30a5 into asyncapi:master Aug 8, 2025
10 checks passed
@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

@amparo-siemens merged

Welcome on board 🚀

@asyncapi-bot
Copy link
Contributor

🎉 This PR is included in version 6.9.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@derberg
Copy link
Member

derberg commented Aug 8, 2025

@Pakisan @jonaslagoni hey, as I see here, the PR adds schemas to v3 which was released 2y ago. We need v3.1 release for that. Look into the main issue in the specification repo: asyncapi/spec#1109. This release should actually be reverted.

@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

@Pakisan @jonaslagoni hey, as I see here, the PR adds schemas to v3 which was released 2y ago. We need v3.1 release for that. Look into the main issue in the specification repo: asyncapi/spec#1109. This release should actually be reverted.

Not sure that understand it. Bindings Object it's something that can be extended and cannot affect specification versions because channels, servers, operations or messages were affected

Am I wrong?

@jonaslagoni
Copy link
Member

I agree with @Pakisan tbh 🤔

Not sure if we have anything in the spec saying it explicitly? 😄

Copy link
Member

derberg commented Aug 8, 2025

But this is a completely new binding

example, server bindings: https://www.asyncapi.com/docs/reference/specification/v3.0.0#serverBindingsObject

  • there are fixed fields, and as you know ROS2 is not there
  • and under the list of fixed fields you see "This object MAY be extended with Specification Extensions"

@jonaslagoni well spec doesn't say explicitly which parts, if modified, should trigger release, but then you could say that if we add new field to for example Message Object then it also should not trigger a release of the spec 😃

We do have a definition of what is a breaking change and what is not a breaking change: https://github.com/asyncapi/spec/blob/master/CONTRIBUTING.md#breaking-change-vs-non-breaking-change. ROS2 related objects are new properties added to spec. It is a change to the spec, non breaking, so minor release is needed.

in the past every new binging was a minor release:

@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

Yep, it's new binding. But our docs tells that binding are not mandatory and vendor may or may not support all of them

Does it mean that every new version of already existed binding will trigger new release?

In case of changing core semantics new release is needed. If we change operation by adding new field or removing it or extending it we will change semantics and new release will be needed

I'm not arguing, I'm just trying to understand better how we evolve our specification in case of changes not directly related with core structure

Copy link
Member

derberg commented Aug 8, 2025

bindings are not mandatory like many other properties/fields in the spec - this has nothing to do with "release or not release".

Does it mean that every new version of already existed binding will trigger new release?

no, bindings releases are independent, but first, binding must be added to the spec. AsyncAPI specification do not contain details of specific binding, so we are cool here.

in other words:

  • we need new release of AsyncAPI specification when new binding is added, as it is a new official field added to the spec. But the object defined under this new field, it is managed in bindings repository independently. So first RSO2 release must go with AsyncAPI spec release.
  • Later, any changes to the binding, of course by following semver, like new fields, or removal of fields is done independently from specification releases. So you can have AsyncAPI v3.1 that will support RSO2 in version 0.0.1 and 0.0.2 for example.

@jonaslagoni
Copy link
Member

I guess it makes sense 😄

@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

@derberg understood

I'll rollback this release and create new version using instructions in readme

Copy link
Member

derberg commented Aug 8, 2025

awesome, and don't merge of course the new release until we are ready with the spec. @fmvilas was main reviewer and he was out the whole July so he needs few days to catch up. Also I'm out next week. So we need to sync, catchup if anything is missing and plan the release cycle. I'd also love to have a call with someone from Siemens (probably you @amparo-siemens or @gramss) as we need not only contribution of new binding, but actually maintainers to own the binding long term (typical maintainer job, answer to issues, review PRs). We need some solid representation as in the past we were letting in bindings for different tech, from corporations like Mulesoft and there is 0 commitment from their side (actually the only person we can count on is the ex employee of Salesforce that basically does it because of the open source spirit). I saw https://opensource.siemens.com/ so am pretty confident, we will just have "simple formality" discussion.

But yeah, one thing at a time 😅 and it is vacation season 😅 and you know we all do it as volunteers 😅

Pakisan added a commit that referenced this pull request Aug 8, 2025
@Pakisan
Copy link
Member

Pakisan commented Aug 8, 2025

@derberg tagged you in MR

@amparo-siemens will be available from upstream channel in new upcoming version, but still available in my "nightly" channel (portal where I store tuned versions of our schemas for other tools and vendors)

@gramss
Copy link

gramss commented Aug 8, 2025

Thank you @derberg for clarifying the details with the release.

I think there might be a few things that can grow into and at some point out of the ROS 2 binding.
Let's get our full tooling (introspection and code generator) rolled out based on this and then see where it will grow into.

Already, I liked the involvement of the ROS community and would like to see it as a shared effort in order to have not a single (tunnel) vision for the future of this binding. Maybe @Achllle might want to join this meeting with @derberg ? @amparo-siemens and I will sure participate!

Enjoy the summer and see you in September!

@Pakisan Pakisan mentioned this pull request Aug 9, 2025
Pakisan added a commit that referenced this pull request Aug 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants