AngleSharp v0.7 released

Yesterday I finally managed to release AngleSharp v0.7.

The latest release of AngleSharp contains everything to connect to DOM events, send forms, enable scripting and parse CSS. The next version will focus on some rough edges and bring in a new model for CSS values. With AngleSharp v0.8 rendering and a visual tree will be made possible. Also injection and context aware APIs will be available, which will make timing evaluations within the core library (or just an arbitrary execution path analysis) possible.

Right now it is obvious that the road towards v1.0 is also the road towards a headless browser. Nevertheless, AngleSharp itself will not that kind of browser. AngleSharp will remain a core library. Everything else will be delivered in form of extension libraries. This also means that AngleSharp must remain lightweight. Right now, it could be still considered lightweight, however, I think it is maybe already too heavy. Therefore investigations what parts (if any) have to be outsourced is ongoing. It is possible that some DOM interfaces / modules are being taken away completely. For instance the navigator interface. Nevertheless, the reason to leave these interfaces in the core library is the high coupling as specified by the W3C.

Bottom line: AngleSharp is already quite powerful and on a good way. But the API and the internal workings (especially requests and parsing assignments) can be improved. Making the library more lightweight is certainly a good thing, however, a suitable architecture needs to be determined first.