There actually are some significant changes caused by that move to Java 17.
No
Some of the changes I am aware of:
Java 17 is the base
Nashorn is no longer included and needs to be installed from the Marketplace
There’s a bug in the JS Scripting file watcher which requires Nashorn to be installed if you have file based JS Scripting files
There is no longer a JS transformation which has been replaced with a SCRIPT transformation which can use any rules language. This is part of core now, not separately installable.
The SCRIPT transform cannot be used from a Profile so if you have transform profiles that use JS, do not upgrade right now.
Just to report some level of success, 4.0.0 seems to work just fine inside of docker. Official image pulled about an hour ago. Build #3243 for reference. All bindings came up clean.
Can you point me to more context on this? jrubyscripting recently implemented its own script file watcher heavily based on the JS scripting one. I’m guessing it’s a Nashorn vs. JS issue, but I want to be sure.
I’ve triggered some builds which could help with applying all dependency changes.
Maybe you can try again with 4.0.0-SNAPSHOT build # 3244?
If it does not yet fix your issue, posting some logging may help.
The snapshots are more unstable now than usual with all those changes.
But thanks to those who want to help out with testing and providing feedback with these first OH4 builds.
Will do but won’t get to it tomorrow unfortunately. Logs to follow when I give it a try.
Yep, that’s why I wanted to try it. But I expected to have more problems with Blockly and Nashorn rather than problems with Zwave. Thankfully jumping back and forth is super easy.
That was only supported by the JS transform so I’d guess almost certainly this is not (ever?) supported. SCRIPT is also not supported in Profiles yet.
But, it does support passing additional arguments to the transform using standard URL style which is a huge boon. This opens the possibility of more generic transformation scripts.
@rlkoshak
I‘ve already migrated my JS transformations to SCRIPT, but currently inline scripts and a transformation profile for Items are missing. I can try to ping you when there are PRs for those, but I cannot promise to not forget
I know what you mean, like JS transform is providing it at the moment.
This is not supported yet, but @J-N-K said that it is not too difficult to add that.
Note that if you use JDBC MySQL persistence, it’s currently broken (as of 21 Dec). Will be fixed shortly as soon as the mysql connector artifact is uploaded to jfrog.
However, I’m still seeing the “ScriptEngine for language ‘application/javascript’ could not be found…”.
After the first clean boot I installed the Nashorn add-on from the marketplace. Despite the errors during boot, the rules appear to work. There might be a race condition where rules are loaded before the add-on is loaded perhaps?
Is there a roadmap for 4.0 anywhere?
Great work btw, I jumped into OpenHAB at v3 and it’s been super stable and seems to be having a lot of work done towards making things easier for the end user.