When I started the AngleSharp project I had an idea for a crazy cross-platform UI framework (loosely) based on HTML with C# as the programming language. I early realized that the HTML part requires to be rock-solid, which is why I picked the entire HTML5 specification. Initially coded in the plane, I was quite satisfied when I could successfully parse the first edge cases and tests. Everything seemed to be smooth ...
... until I wanted to get more out of the document object model (DOM). The specifications got nastier and instead of reaching the end of the things to implement the list of missing features got longer and longer. The project was at a critical point in time. I nearly abandoned it, but after some time without doing anything I concluded that at least one CodeProject article needs to be written. Together with this article I also released the sources on GitHub.
Over night the project gained around 120 stars. This showed me that there was some interest in an HTML5 parser build from the ground up in .NET. In the next months and years I continued these efforts. I wrote a CSS parser, integrated a JavaScript engine, and came up with sophisticated network helpers. AngleSharp went from an HTML5 only solution to a browser framework in C#. The ultimate solution for parsing anything with web-stuff.
So why are we still pre-v1? Extensibility and usability! While the HTML5 part is as good as it could be (minus some bugs that are found over time), the integration of other parts (most notably CSS) is not as agile as it should be. Plus at this point in time the project feels bloated. What is the consequence? I need to come up with an API that is easy to learn on the outside, fast on the inside, and agile (extensible) if needed. The upcoming version 0.10.0 will hopefully be a major step towards the v1 version, which may still arrive later this year.
Early this week we reached the 1k stars milestone at GitHub. For a .NET project this is quite a large number. I want to thank all contributors, star gazers, and issue reports to their efforts and patience with the project! I promise that the v1 version will be worth the wait!
To celebrate the 1k mark I will give a talk on AngleSharp in the .NET Usergroup of Ingolstadt (south of Munich) in Bavaria. I will demo some new things and some old things. I will show scripting integration with MAGES. Also, I will outline the upcoming journey of AngleSharp, which is fully embracing .NET core (i.e., standard) in all (official) sub-projects. Hopefully, I find the time/equipment/tools to make a video of the talk.