While upgrading to 6.38 I saw that the following line changed from extract(parse_url(urldecode($destination))); to extract(parse_url($destination));. Is there a good reason for that? Because it doesn't seem to be a backward compatible change. It breaks some of my urls such as; destination=page%253foo%253D10%2526bar%253D20.
I have created the pull request #109 in case that change make sense.