Changes to Version 2.1.6.11
1. Altered the GetIsCrawler method in MobileCapabilities.cs to return null if no value for IsCrawler is provided. Previously the method returned false breaking values provided via the BrowserCap file.
2. Enhanced Xml/Reader.cs to reduce the number of byte objects created when decompressing zipped XML files.
3. Altered Location.cs GetUrl method to remove replacement string tags {0} from the new url if no values were found to replace them.
4. Changed NewDevice.cs RecordNewDevice method to check for zero length byte arrays and not add them to the queue.
5. Reduced the volume of integer arrays created in the EditDistance routines to improve memory management and performance.
6. Modified DetectorModule.cs SetPreferredRenderingType method to use an Equals check rather than == for string comparison.
7. Optimised using statements across all classes.
8. Refactored code and project files to support MSBuild with .NET versions 2, 3.5 and 4. Previously 2 would not compile.
9. RedirectModule.cs IsFirstTime method changed to public.
10. Support.cs changed to include a static constructor to obtain the machine.config file path. This value is then used in place of the web.config file when setting the machine configuration file path in other methods. This addresses problems reported with use of the <location path="." inheritInChildApplications="false"> element in configuration files.
11. A NewDevice instance is created for each module instance.