Changelog
This is a major release with breaking changes for plugin creators, usual release for the users.
Changes since V5.2.8.4:
- ASF's internal HTML parsing module was rebased on top of new major version, watch out for broken functionality and report if determined as working in previous
5.2.x.y
release (@JustArchi). - Added workaround against apparently-not-so-rare Steam issue which caused ASF to cache invalid packages data. ASF will now cache Steam packages data for no longer than a week, so removing
ASF.db
manually should no longer be required (@JustArchi). - Latest ASF-ui with new features, improvements and bugfixes (@MrBurrBurr).
- Updated localization provided by our community (@JustArchi-ArchiBot).
- Usual amount of other core improvements, optimizations and bugfixes (@JustArchi).
Plugin creators
AngleSharp.XPath
was updated to new major version2.0
which has breaking changes. ASF's code, especially public API in core utilities was adapted to them. All plugins that are parsing HTML will likely require additional fixes to work with this release (@JustArchi).ASF.GlobalDatabase.PackagesDataReadOnly
changed its signature, you'll need to recompile if using it, although usage remains the same (@JustArchi).
The below helpful section concerns you if you're parsing HTML in your plugins, you can skip it if you don't.
- XPath ending with
/@attr
no longer returns parentIElement
node(s) with attributes inside, butIAttr
attribute nodes themselves. This is the biggest change, as previously working xpaths may simply no longer work or result in something else than you expect. I've confirmed that this is expected breaking change. SelectNodes<T>()
andSelectSingleNode<T>()
helper APIs use generics now, so you can also more easily extract and/or cast other types of nodes.SelectNodes()
now returnsIList<INode>
instead ofIEnumerable<IElement>
. UseSelectNodes<IElement>()
if you need previous functionality.SelectSingleNode()
now returnsINode?
instead ofIElement?
. UseSelectSingleNode<IElement>()
if you need previous functionality.SelectSingleElementNode()
no longer exists, useSelectSingleNode<IElement>()
instead.- Consider using
SelectNodes<IAttr>()
andSelectSingleNode<IAttr>()
when you need to extract attributes, rather than selectingIElement
nodes and callingGetAttribute()
on them. As long as you're not extracting more attributes than one, you can simply append/@attr
to your XPath and selectIAttr
node(s) directly. It's easier and more effective that way, but old style will work too, and is more convenient when you're accessing 2+ attributes at once from a singleIElement
node.
For more information including example of changes done across ASF, visit the commit itself. I'm not that much happy doing those breaking changes, because old style worked fine and there was no "problem" with it, but I went with upstream changes and adapted ASF to them rather than sticking with old unsupported release - this warrants a major B
ASF version bump. While pretty annoying, those changes shouldn't require that much effort, as across whole ASF there were just a dozen of places or so.
Support
ASF is available for free, this release was made possible thanks to the people that decided to support the project. If you're grateful for what we're doing, please consider a donation. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam (and its problems). Even $1 is highly appreciated and shows that you care. Thank you!