There was a change to the way spec is handled. The old code just used the spec object as specified, allowing driver-specific custom properties. Unfortunately, a change was made that now copies specific properties from "args", ignoring custom capabilities. This makes it impossible to run a custom version of firefox using the "firefox_binary" capability.
This is a show stopper as the WebDriver protocol is open enough to allow more than your the standard spec's caps. Things such as ios-driver and appium simply can't work without changing the way this is handled.
There was a change to the way spec is handled. The old code just used the spec object as specified, allowing driver-specific custom properties. Unfortunately, a change was made that now copies specific properties from "args", ignoring custom capabilities. This makes it impossible to run a custom version of firefox using the "firefox_binary" capability.