I did some testing with the DEV build in combination with the Shelly RGBW2.
I still can get the shelly to perform a reboot (to crash) if I do very quick changes in color, brightness, etc. The only difference I saw is that there is no more timeout log message (and password protected devices are not working, but I think you already mentioned that).
2020-01-24 13:51:42.423 [hingStatusInfoChangedEvent] - 'shelly:shellyrgbw2-color:fenster' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Es trat ein unerwartetes Problem beim API-Zugriff auf. Überprüfen Sie die Logdatei für genauere Informationen.
2020-01-24 13:51:43.312 [WARN ] [y.internal.handler.ShellyBaseHandler] - shellyrgbw2-color ERROR:
Unable to process command for channel shelly:shellyrgbw2-color:fenster:color#hsb: Shelly API call failed: connect timed out, uri=/color/0?red=123&green=0&blue=255&white=255&turn=on (class java.io.IOException)
Stack Trace: [org.openhab.binding.shelly.internal.api.ShellyHttpApi.request(ShellyHttpApi.java:482),
org.openhab.binding.shelly.internal.api.ShellyHttpApi.setLightParms(ShellyHttpApi.java:269),
org.openhab.binding.shelly.internal.handler.ShellyLightHandler.sendColors(ShellyLightHandler.java:484),
org.openhab.binding.shelly.internal.handler.ShellyLightHandler.handleDeviceCommand(ShellyLightHandler.java:211),
org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.handleCommand(ShellyBaseHandler.java:296),
sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source),
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),
java.lang.reflect.Method.invoke(Method.java:498),
org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152),
org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59),
com.sun.proxy.$Proxy1352.handleCommand(Unknown Source),
org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:74),
org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48),
sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source),
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),
java.lang.reflect.Method.invoke(Method.java:498),
org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152),
org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52),
java.util.concurrent.FutureTask.run(FutureTask.java:266),
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149),
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624),
java.lang.Thread.run(Thread.java:748)]