I found your article important and did go through normalizations which are described in RFC 3986 . it could be found apart from "symentic changing normalization" , you have missed some of "semantic preserving normalizations" listed below as well and please check them out .
Glen Scott - 2011-02-04 15:45:50 - In reply to message 1 from Gayan Chathuranga
Thank you for your comments. You are correct, currently the class does not handle the normalization steps detailed in section 6.2.3 of RFC 3986. I will add this note to the README file, and will add this functionality in the future.