Update merged binding

Hello fellow developers!

I’m working on a binding and still have some testing to be done, but I’d like to know how I’m to proceed.

If I think I’ve reached some stable state I could integrate my binding in openhab2-addons and make a pull request? If it’s approved, would my binding be available in the current (2.2) or would it be distributed with next release first? After that, if I want to make changes or add new features, could I update my binding automatically (or from within PaperUI) or would I also have to wait until next release?

Understanding this is important for me to assess the state I am now and when should I go for PR.

Thanks!
Pav

You can create a PR whenever you like. You can create it as a WIP (Work in Progress) if it’s not quite ready for maintainers to review.

The release process is changing, so there might be a 2.2.X release that could include your binding. If not, it might go into a 2.3 release.

Once your binding is merged, updates would require a new PR.

Additionally a binding that is merged is available in the actual snapshot version.

Isn’t it a contradiction? @namraccr, you say, the binding would be included in the 2.2.X release, @opus, you say, that merged binding would be available in the actual snapshot.

That was actually my question: can I release and/or update a binding in the same openHAB snapshot or not? What if I’ve forgotten some critical issue, do I have to wait until the next snapshot?

You have to differentiate between officially released versions (actually 2.2), and the daily snapshot versions (actually 2.3 with changing build numbers). Using the later is for testing the new bindings after they have been merged.
The new release process mentioned by @namraccr migth be for intermediate releases of the official release in case of servere issues (My personell interpretation).

Yes, I understand the difference. Drop the release topic. But even snapshots have to be installed manually!?

If I have made a critical mistake…:

  • and I’m merged, I have to wait for the next snapshot and urge the user of my binding to download and update their complete snapshot?
  • and I’m not merged, a user just have to download my JAR and put it into /addons, overwriting the old file to fix the error;

First option doesn’t actually seem user friendly, does it? Or am I still misunderstanding the concept?

If you are merged, the code has been checked by maintainers. Waiting for the next snapshot is IMHO less then 24 houres. Even if you are merged a user doesn’t have to update all, the download of the .jar is always possible.
However the switch from a PaperUI installed binding to the use of a binding in the add-ons folder is a little bit more complicated.
You need to deinstall via PaperUI and then put the .jar in the folder.

Thank you for your answers. With updates tied to snapshots, I’ll stick to JAR distribution for the development phase.

Still, some kind of automatic update would be nice, with PaperUI checking for updates regularly and showing an “Update” button in [Configuration] / [Binding].

Best regards
Pav