github JustArchiNET/ArchiSteamFarm 5.3.0.1
ArchiSteamFarm V5.3.0.1

latest releases: 6.0.9.1, 6.0.9.0, 6.0.8.7...
pre-release2 years ago

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 version 2.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.

  1. XPath ending with /@attr no longer returns parent IElement node(s) with attributes inside, but IAttr 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.
  2. SelectNodes<T>() and SelectSingleNode<T>() helper APIs use generics now, so you can also more easily extract and/or cast other types of nodes.
  3. SelectNodes() now returns IList<INode> instead of IEnumerable<IElement>. Use SelectNodes<IElement>() if you need previous functionality.
  4. SelectSingleNode() now returns INode? instead of IElement?. Use SelectSingleNode<IElement>() if you need previous functionality.
  5. SelectSingleElementNode() no longer exists, use SelectSingleNode<IElement>() instead.
  6. Consider using SelectNodes<IAttr>() and SelectSingleNode<IAttr>() when you need to extract attributes, rather than selecting IElement nodes and calling GetAttribute() on them. As long as you're not extracting more attributes than one, you can simply append /@attr to your XPath and select IAttr 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 single IElement 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!

GitHub sponsor Patreon support Crypto donate PayPal.me donate PayPal donate Revolut donate Steam donate

Don't miss a new ArchiSteamFarm release

NewReleases is sending notifications on new releases.