- Added current (1.4.6) Pack.XSD to repository for reference
- Updated FileDownloadProgress to take advantage of C# 6 language features
- renamed several methods to use xxxAsync standard naming
- Added IDisposable to IRepository
- Added IRepositoryProvider to abstract information about respository locations from applications.
- Added MDK specific repository provider
- removed PackIndex.DefaultIndexUriPath it is now part of the provider
- removed APIs that assumed the default index URI
- Added support for downloading missing PDSC files from the index URI
- updated PackRepository.LastUpdatedTimeUTC so that if the index file doesn't exist it will provide a default constructed DateTime so it will be earlier than DateTime.Now
- Added new test/debug app to parse all the PDSC files and validate them against the "official" schemas to log errors in the official released and apparently "sanctioned" PDSC files that are not in conformance with the schema. This includes some workarounds and is helping to point to additional new workarounds.
- refactored more of the XSD generated classes
- Added Support to the SemanticVersion Grammar and parser to handle superset of valid syntax. All Valid Semantic versions parse, and a number of officially invalid ones do. This allows re-use of the primary parsing with other variants that have more lax syntax constraints.
- Added VersionQualifier to handle special cases of optional leading character in some forms of relaxed syntax
- Continued refactoring and making XSD generated classes more .NETcoding style friendly
- reduced use of non-conformant Semantic version parsing to those cases where real world pack indeces fail to parse.
- multiple doc comment cleanups
- Major internal refactoring of the SemanticVersion parser. It is now based on officially published BNF grammar description.
- Renamed SemanticVersionParseOptions to SemanticVersionOptions to allow for furhter extension in behavioral modifications (especially with custom precedence rules to handle special cases or CSemVer etc...) WHile that isn't implemented yet changing the option name so it doesn't imply parsing only prevents confusion later.
- Reworked SemanticVersion to use Sprache parsers since Sprache is already being used in parsing nonconformant XML docs
- Added additional tests for SemanticVersion
- moved ParseElements() method to extension method so that it can be reused for mlutiple element parsing methods
- Added parsing of release elements
- Added parsing taxonomy descriptions
- added parsing Api elements