Grunt 0.1.10 Is Available Now
Few weeks have passed and the new release of Grunt for .NET developers is out - I am hitting double digits with the versions now, which is a good sign. 0.1.10 is nothing groundbreaking, but it does introduce quite a few small changes and quality of life improvements. This is also the first release of the library that I worked through on a macOS box, meaning that I was not relying on Visual Studio but rather Visual Studio Code and its integrated .NET Core tooling.
Here are some of the highlights of what you get with the updated library build:
- Text templating-based version updates are gone. This is just too brittle of an approach that does not work well with .NET Core and required quite a bit of custom configuration to work properly with GitHub Actions, where the code for the project is built. I’ve removed that code entirely - you can now build the entire solution across supported .NET platforms (macOS, Windows, Linux) without worrying about setting up custom MS Build flags.
- In-repo package publishing is no-more. There just wasn’t any reason to have two separate places where a NuGet package is published. Everything on the
main
branch is in the production version of the package. Everything else you can clone locally, build with .NET Core and use in your project if you’re keen on more experimental releases. - The JSON parser configuration in
ClientBase
now properly accounts for case-insensitive properties, which is very important for the Halo API data models. - There is now
GameCmsGetGenericWaypointFile
that enables you to get any file from Waypoint as long as you have its path. - There is now
GetUserSettings
in theWaypointClient
implementation that enables you to get the snapshot for Waypoint user settings like email, Halo Insider enrollment status, and XUID. - Also in
WaypointClient
there is now aGetMyProfile
function that does exactly what it says - gets your profile (XUID, gamertag, available profile pictures). - Lastly in the
WaypointClient
improvements, there is now theGetUserProfile
function that enables you to get the profile of other Waypoint users. You can use a gamertag or a XUID as a user ID here. - A number of properties were converted from
object
todynamic
to make it easier to infer the underlying data model at runtime. MedalMetadata
is now properly tagged with theIsAutomaticallySerializable
attribute so that you can get the contents of the data model correctly populated when it’s returned throughHaloInfiniteClient
.- In
ParticipationInfo
,FirstJoinedTime
andLastLeaveTime
are nullable, helping developers avoid issues where the players that don’t leave games cause the API to return an error. Thank you to @HaloDataHive for catching this issue.
As always, you can take a look at the source code for everything that I am building with Grunt on GitHub.