Quick and Dirty Feed Parser 1.01 Release Notes
- New Features in Quick and Dirty Feed Parser 1.01.
- Windows Phone 7 and Silverlight Support
- IFeedFactory Upgrades
- Injectable Constructors
- IFeed Upgrades
- Improved Memory Consumption
- IFeed.Items Are Now Pre-loaded into an IList Collection
- Breaking Changes
- Upgraded to .NET 4.0
- Interface Changes
- IFeed.XmlFeed No Longer Exists
- All Uris Are Now Strings
- IFeed.Items Signature Changed
- Contributing to Quick and Dirty Feed Parser
The biggest changes we made to Quick and Dirty Feed Parser in the 1.0 release is we added support for Silverlight 4 and Windows Phone 7.
We’ve wanted to add support for this since Windows Phone 7 hit the market, but it required that we rewrite the entire parsing engine using LINQ instead of XPath given that XPath isn’t supported in Silverlight or Windows Phone 7. However, the
Silverlight and WP7 ports are finished, have test coverage, and have been performing well in some of the sample applications we’ve been building.
Given that you don’t have access to a traditional file system in Silverlight or Windows Phone 7, we felt it appropriate to create a new factory designed to be used specifically for IsolatedStorage. This functionality is now available to you via the
IsolatedStorageFeedFactory class, which you can read more about here.
We made a number of changes to IFeedFactory in order to better support developers who use Quick and Dirty Feed Parser.
You’ll now notice that each type of FeedFactory contains a constructor that looks like this:
public HttpFeedFactory(IFeedXmlParser parser)
Using this constructor you can use a DI container like Ninject or Unity to inject a parser of your choice.
Until Quick and Dirty Feed Parser 1.0, constructors
We’ve added some additional choices to developers as far as parsers go, and you can even write your own parser and inject it into a FeedFactory. All you have to do is inherit from the IFeedXmlParser interface.
By default all IFeedFactory objects use the LinqFeedXmlParser class. However, the original XPathFeedXmlParser is still available.
In order to better support Quick and Dirty Feed Parser’s performance on Windows Phone 7, where developers have to get more done with fewer resources, we made efforts to improve the performance and functionality of all IFeed objects included in Quick
and Dirty Feed Parser.
IFeed objects no longer have the XmlFeed property associated with them, which contained a full copy of the original XML feed in addition to the parsed entities within the IFeed object itself. This reduced memory consumption of IFeed objects by over 50% and
makes them both faster and less expensive to work with even in resource-constrained environments like Windows Phone 7.
Originally all IFeed objects used a deferred execution model where they gradually parsed items out from the XmlFeed member contained inside each object. We’ve changed it so that items are now pre-loaded and injected into an IList collection, which
makes it both easier and faster to use.
We made a number of changes to all of the IFeed classes in Quick and Dirty Feed Parser in order to support syndication, such as adding default constructors and exposing the setters for all properties.
In order to make Quick and Dirty Feed Parser better, we had to make some breaking changes to the build for 1.01.
.NET 2.0, our original target profile for Quick and Dirty Feed Parser, is falling by the wayside. In the interest of utilizing newer language features in Quick and Dirty Feed Parser itself going forward, we’ve decided to upgrade to .NET 4.0 and use
as our standard going forward.
Therefore, this version of Quick and Dirty Feed Parser is not backwards-compatible with .NET 2.0-3.5 projects.
We made a number of breaking changes in the Quick and Dirty Feed Parser IFeed interface in order to improve the performance of IFeed objects and to make them serializable.
We removed this member in order to reduce the memory footprint of all IFeed objects.
We converted all public members which utilized the System.Uri type to System.String members, in order to make IFeed classes easily serializable in .NET 4.0, Silverlight, and Windows Phone 7.
We changed the signature from IEnumerable<IFeedItem> to List<BaseFeedItem> in order to support serialization and pre-populated lists.
We’re always looking for contributors, and if you’d like to help make Quick and Dirty Feed Parser better, please join us on Codeplex!
Download these release notes in Word 2010 format [download]