There have been some changes in Query parameters handling in SMW 1.6.2, the Validators Parameter class is used to define basic SMW parameters in SMWQueryProcessor::getParameters() now.
Parameter::setDefault() allows to set a default value for a parameter in case it was not user-defined in the query. Before the generated array with supplied params didn't contain a item for unset parameters, now it contains an array value with the default.
SMWQueryProcessor::createQuery() still handles the array with the delivered parameter values as if the default were unset array items, but in fact, they are set to the default.
So, in several places in SMWQueryProcessor::createQuery() array_key_exists() is still used to check whether the param was set by the user, while in most cases where the default is set to 'false' for example, "$params['param'] !== false" could be used.
I have not searched for actual buggy behavior resulting from this, but there certainly is some needless/confusing code here.
Version: unspecified
Severity: normal