Grunt 0.1.12 Is Available Now
What do you know - another week and there’s another new Grunt release. This one has few changes that I am introducing, but they are setting the library on a more cross-game path. That is, I am introducing experimental Halo 5 APIs. Not the entire API surface is covered (yet) but the foundations are there and I am excited to see it evolve further. I don’t know about you, but I am sometimes still logging into Halo 5 to see what is happening and I thought that I might as well add coverage for those APIs while they exist.
Let’s talk through the specific changes that I’ve introduced with this release. First of all - experimental Halo 5 APIs. You might notice that there is now a Halo5Client
class. Similar to how I’ve implemented this for Halo Infinite, this class will be dedicated to ensuring that you can talk to Halo 5 services from one entrypoint. There are only three methods available today:
ContentHacsGetActiveSeasonPass
- gets information about the active season pass.ContentHacsGetActiveSpartanRankManifest
- gets information about available Spartan ranks (there are currently 152 of them).GetApiSettingsContainer
- gets information about available API endpoints.
These are just starters and they will grow over time. As part of the introduction of Halo 5 APIs, I’ve also refactored some of the API ingress code to be more “generic” (applicable to the rest of the library and not just Halo Infinite) so you might see some classes like RetryPolicy
, Settings
, RetryOptions
, Configuration
, Authority
, AuthenticationMethod
, AcknowledgementType
and OnlineUriReference
make their way into the OpenSpartan.Grunt.Models.ApiIngress
namespace.
For Halo Infinite APIs, I’ve also fixed a typo in a enum definition (LifecycleMode
) and expanded it to include local (LAN) games as well. Which, by the way, can now also be used inside StatsGetPlayerServiceRecord
(see the barebones GitHub issue for an example of a desired endpoint). Previously, you could only record service records for matchmade games. Now you can do that for custom and local games as well.
That’s about it for this change. As always, you can take a look at the source code for everything that I am building with Grunt on GitHub, and if you have any questions or suggestions - go to the GitHub Discussions for OpenSpartan.