There are some implementation changes. And a question's come up: For now, sys.sendAll(xxx) sends a message to every channel. sys.sendAll(xxx, channel) sends it to a specific channel. sys.sendAll(xxx, null) or sys.sendAll(xxx, undefined) sends it to channel 0, aka the main channel, due to automatic conversion to int. Would you rather that a null or undefined value as the channel argument sends to every channel?
The old behaviour is kinda difficult to go around sometimes, but I think most scripts have been adjusted to it. I would really take undefined second parameter as same as one parameter, since most Javascript native scripts work that way (only arguments.length changes).
What if you do sys.sendAll("aaa", staffchannel) and staffchannel is undefined (doesn't exist) due to some script error?
It's complicated. Doing sys.channelId("I do not exist") returns ScriptEngine.undefinedValue() AKA undefined for it and then sys.sendAll("foobar", variableWhichResolvesToUndefined) works like that