GBX.NET 2.1.0-nightly.20241213.9ff62e8

GBX.NET

NuGet Discord

A general purpose library for Gbx files - data from Nadeo games like Trackmania or Shootmania, written in C#/.NET. It supports high performance serialization and deserialization of 200+ Gbx classes.

For more details, see the main README.

Framework support

Due to the recently paced evolution of .NET, framework support has been limited only to a few ones compared to GBX.NET 1:

  • .NET 8
  • .NET 6
  • .NET Standard 2.0

You can still use GBX.NET 2 on the old .NET Framework, but the performance of the library could be degraded.

Usage

These examples expect you to have <ImplicitUsings>enable</ImplicitUsings>. If this does not work for you, add using System.Linq; at the top.

Map information

Additional package GBX.NET.LZO is required in this example.

using GBX.NET;
using GBX.NET.Engines.Game;
using GBX.NET.LZO;

Gbx.LZO = new Lzo();

var map = Gbx.ParseNode<CGameCtnChallenge>("Path/To/My.Map.Gbx");

foreach (var block in map.GetBlocks().GroupBy(x => x.Name))
{
    Console.WriteLine($"{block.Key}: {block.Count()}");
}

Map information from Gbx header

using GBX.NET;
using GBX.NET.Engines.Game;
using GBX.NET.LZO;

var map = Gbx.ParseHeaderNode<CGameCtnChallenge>("Path/To/My.Map.Gbx");

Console.WriteLine(map.MapName);
Console.WriteLine(map.Xml);

Header contains a lot less information than the full node.

Modify and save a map

using GBX.NET;
using GBX.NET.Engines.Game;
using GBX.NET.LZO;

Gbx.LZO = new Lzo();

var gbx = Gbx.Parse<CGameCtnChallenge>("Path/To/My.Map.Gbx");
var map = gbx.Node; // See Clarity section for more info

map.MapName = "My new map name";

gbx.Save("Path/To/MyNew.Map.Gbx");

The trick here is that the Gbx properties are saved in the gbx object variable (Gbx class).

If you were to go with ParseNode in this case, this would not work for TMF and older games, but it is still possible if you specify the Gbx parameters in the Save method:

map.Save("Path/To/MyNew.Map.Gbx", new()
{
    PackDescVersion = 2 // Latest known PackDesc version in TMF
});

For TMS or TMN ESWC, you would have to specify ClassIdRemapMode for example:

map.Save("Path/To/MyNew.Map.Gbx", new()
{
    ClassIdRemapMode = ClassIdRemapMode.Id2006
    PackDescVersion = 1
});

These save parameters depend on the game of choice, but since Trackmania 2, this does not matter.

Processing multiple Gbx types

Additional package GBX.NET.LZO is required in this example.

This example shows how you can retrieve ghost objects from multiple different types of Gbx:

using GBX.NET;
using GBX.NET.Engines.Game;
using GBX.NET.LZO;

Gbx.LZO = new Lzo();

var node = Gbx.ParseNode("Path/To/My.Gbx");

var ghost = node switch
{
    CGameCtnReplayRecord replay => replay.GetGhosts().FirstOrDefault(),
    CGameCtnMediaClip clip => clip.GetGhosts().FirstOrDefault(),
    CGameCtnGhost g => g,
    _ => null
};

if (ghost is null)
{
    Console.WriteLine("This Gbx file does not have any ghost.");
}
else
{
    Console.WriteLine("Time: {0}", ghost.RaceTime);
}

Using pattern matching with non-generic Parse methods is a safer approach (no exceptions on different Gbx types), but less trim-friendly.

Read a large amount of replay metadata quickly

In case you only need the most basic information about many of the most common Gbx files (maps, replays, items, ...), do not read the full Gbx file, but only the header part. It is a great performance benefit for disk scans.

using GBX.NET;
using GBX.NET.Engines.Game;

foreach (var filePath in Directory.EnumerateFiles("Path/To/My/Directory", "*.Replay.Gbx", SearchOption.AllDirectories))
{
    try
    {
        DisplayBasicReplayInfo(filePath);
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Gbx exception occurred {Path.GetFileName(filePath)}: {ex}");
    }
}

void DisplayBasicReplayInfo(string filePath)
{
    var nodeHeader = Gbx.ParseHeaderNode(filePath);

    if (nodeHeader is CGameCtnReplayRecord replay)
    {
        Console.WriteLine($"{replay.MapInfo}: {replay.Time}");
    }
}

File types

Some of the common types to start with (a lot more are supported):

Latest extension Class Can read Can write Other extension/s
Map.Gbx CGameCtnChallenge Yes Yes Challenge.Gbx
Replay.Gbx CGameCtnReplayRecord Yes No
Ghost.Gbx CGameCtnGhost Yes Yes
Clip.Gbx CGameCtnMediaClip Yes Yes
Item.Gbx CGameItemModel Yes Yes Block.Gbx
Mat.Gbx CPlugMaterialUserInst Yes Yes
Mesh.Gbx CPlugSolid2Model Yes Yes
Shape.Gbx CPlugSurface Yes Yes
Macroblock.Gbx CGameCtnMacroBlockInfo Yes Yes
LightMapCache.Gbx CHmsLightMapCache No No
SystemConfig.Gbx CSystemConfig Yes Yes
FidCache.Gbx CMwRefBuffer Yes Yes
Profile.Gbx CGamePlayerProfile Up to TMF Up to TMF
Scores.Gbx CGamePlayerScore Yes No

Supported games

Many essential Gbx files from many games are supported:

  • Trackmania (2020), July 2024 update
  • ManiaPlanet 4(.1), TM2/SM
  • Trackmania Turbo
  • ManiaPlanet 3, TM2/SM
  • ManiaPlanet 2, TM2/SM
  • ManiaPlanet 1, TM2
  • TrackMania Forever, Nations/United
  • Virtual Skipper 5
  • TrackMania United
  • TrackMania Nations ESWC
  • TrackMania Sunrise eXtreme
  • TrackMania Original
  • TrackMania Sunrise
  • TrackMania Power Up
  • TrackMania (1.0)

License

GBX.NET library (this package) is MIT Licensed.

However, if you would use GBX.NET.LZO package with it (which is usually required), you'd need to follow the GNU GPL v3 License. See License section on the main README for more details.

Special thanks

Without these people, this project wouldn't be what it is today (ordered by impact):

  • Stefan Baumann (Solux)
  • Melissa (Miss)
  • florenzius
  • Kim
  • tilman
  • schadocalex
  • James Romeril
  • frolad (Juice)
  • Mika Kuijpers (TheMrMiku)
  • donadigo

And many thanks to every bug reporter!

Showing the top 20 packages that depend on GBX.NET.

Packages Downloads
GBX.NET.LZO
An LZO compression plugin for GBX.NET to allow de/serialization of compressed Gbx bodies. This official implementation uses lzo 2.10 from NativeSharpLzo and minilzo 2.06 port by zzattack.
140
GBX.NET.Imaging.SkiaSharp
Provides extensions for image handling in GBX.NET (Google's Skia with SkiaSharp).
137
GBX.NET.Hashing
Hashing features (CRC32) for GBX.NET 2.
109
GBX.NET.LZO
An LZO compression plugin for GBX.NET to allow de/serialization of compressed Gbx bodies. This official implementation uses lzo 2.10 from NativeSharpLzo and minilzo 2.06 port by zzattack.
104
GBX.NET.Crypto
Cryptographic features for GBX.NET 2.
100
GBX.NET.Imaging.SkiaSharp
Provides extensions for image handling in GBX.NET (Google's Skia with SkiaSharp).
97
GBX.NET.NewtonsoftJson
Better and easier JSON serialization with polymorphic support for GBX.NET objects.
91
GBX.NET.PAK
Support for Pak (NadeoPak) package files, integrated with GBX.NET.
85
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
85
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
80
GBX.NET.ZLib
Support for zlib compressed parts of Gbx, integrated with GBX.NET. This official implementation uses Iconic.Zlib.Netstandard.
80
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
65
GBX.NET.Hashing
Hashing features (CRC32) for GBX.NET 2.
65
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
63
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
60
GBX.NET.ZLib
Support for zlib compressed parts of Gbx, integrated with GBX.NET. This official implementation uses Iconic.Zlib.Netstandard.
59
GBX.NET.Tool
Base library for creating rich tools for different environments with GBX.NET.
59

Version Downloads Last updated
2.2.0-nightly.20250601.888ab2e 0 06/01/2025
2.2.0-nightly.20250531.5b77330 1 05/31/2025
2.2.0-nightly.20250530.f80b184 4 05/30/2025
2.2.0-nightly.20250529.98baa91 5 05/29/2025
2.2.0-nightly.20250528.cf6938e 8 05/28/2025
2.2.0-nightly.20250527.cf6938e 9 05/27/2025
2.2.0-nightly.20250526.cf6938e 8 05/26/2025
2.2.0-nightly.20250525.cf6938e 12 05/25/2025
2.2.0-nightly.20250524.cf6938e 10 05/24/2025
2.2.0-nightly.20250523.bc4f399 7 05/23/2025
2.2.0-nightly.20250522.bc4f399 11 05/22/2025
2.2.0-nightly.20250521.bc4f399 9 05/21/2025
2.2.0-nightly.20250520.4800c58 9 05/20/2025
2.2.0-nightly.20250519.4800c58 8 05/19/2025
2.2.0-nightly.20250518.2d134aa 12 05/18/2025
2.2.0-nightly.20250517.524453a 9 05/17/2025
2.2.0-nightly.20250516.421fb39 10 05/16/2025
2.2.0-nightly.20250515.421fb39 8 05/15/2025
2.2.0-nightly.20250514.421fb39 10 05/14/2025
2.2.0-nightly.20250513.480b88d 11 05/13/2025
2.1.2 20 05/11/2025
2.1.2-nightly.20250512.3f235c2 11 05/12/2025
2.1.1 45 01/22/2025
2.1.1-nightly.20250511.336e515 8 05/11/2025
2.1.1-nightly.20250510.336e515 10 05/10/2025
2.1.1-nightly.20250509.d2d08a3 12 05/09/2025
2.1.1-nightly.20250508.d2d08a3 12 05/08/2025
2.1.1-nightly.20250507.d2d08a3 12 05/07/2025
2.1.1-nightly.20250506.d2d08a3 13 05/06/2025
2.1.1-nightly.20250505.d2d08a3 12 05/05/2025
2.1.1-nightly.20250501.5dafd02 13 05/01/2025
2.1.1-nightly.20250430.5dafd02 12 04/30/2025
2.1.1-nightly.20250429.5dafd02 14 04/29/2025
2.1.1-nightly.20250428.5dafd02 12 04/28/2025
2.1.1-nightly.20250427.5dafd02 15 04/27/2025
2.1.1-nightly.20250426.5dafd02 14 04/26/2025
2.1.1-nightly.20250425.5dafd02 15 04/25/2025
2.1.1-nightly.20250424.5dafd02 16 04/24/2025
2.1.1-nightly.20250423.5dafd02 13 04/23/2025
2.1.1-nightly.20250422.5dafd02 15 04/22/2025
2.1.1-nightly.20250421.5dafd02 16 04/21/2025
2.1.1-nightly.20250420.5dafd02 17 04/20/2025
2.1.1-nightly.20250419.5dafd02 17 04/19/2025
2.1.1-nightly.20250418.5dafd02 16 04/18/2025
2.1.1-nightly.20250417.5dafd02 19 04/17/2025
2.1.1-nightly.20250416.5dafd02 17 04/16/2025
2.1.1-nightly.20250415.5dafd02 17 04/15/2025
2.1.1-nightly.20250414.5dafd02 17 04/14/2025
2.1.1-nightly.20250413.5dafd02 16 04/13/2025
2.1.1-nightly.20250412.5dafd02 17 04/12/2025
2.1.1-nightly.20250411.5dafd02 18 04/11/2025
2.1.1-nightly.20250410.5dafd02 18 04/10/2025
2.1.1-nightly.20250409.5dafd02 17 04/09/2025
2.1.1-nightly.20250408.5dafd02 16 04/08/2025
2.1.1-nightly.20250407.5dafd02 16 04/07/2025
2.1.1-nightly.20250406.5dafd02 18 04/06/2025
2.1.1-nightly.20250405.5dafd02 18 04/05/2025
2.1.1-nightly.20250404.5dafd02 17 04/04/2025
2.1.1-nightly.20250403.5dafd02 17 04/03/2025
2.1.1-nightly.20250402.5dafd02 18 04/02/2025
2.1.1-nightly.20250401.5dafd02 31 04/01/2025
2.1.1-nightly.20250331.5dafd02 19 03/31/2025
2.1.1-nightly.20250330.5dafd02 36 03/30/2025
2.1.1-nightly.20250329.5dafd02 18 03/29/2025
2.1.1-nightly.20250328.5dafd02 20 03/28/2025
2.1.1-nightly.20250327.5dafd02 29 03/27/2025
2.1.1-nightly.20250326.5dafd02 19 03/26/2025
2.1.1-nightly.20250325.5dafd02 19 03/25/2025
2.1.1-nightly.20250324.5dafd02 18 03/24/2025
2.1.1-nightly.20250323.5dafd02 17 03/23/2025
2.1.1-nightly.20250322.014a2f7 36 03/22/2025
2.1.1-nightly.20250321.014a2f7 18 03/21/2025
2.1.1-nightly.20250320.014a2f7 20 03/20/2025
2.1.1-nightly.20250319.014a2f7 18 03/19/2025
2.1.1-nightly.20250318.014a2f7 20 03/18/2025
2.1.1-nightly.20250317.014a2f7 32 03/17/2025
2.1.1-nightly.20250316.014a2f7 20 03/16/2025
2.1.1-nightly.20250315.014a2f7 20 03/15/2025
2.1.1-nightly.20250314.014a2f7 21 03/14/2025
2.1.1-nightly.20250313.014a2f7 32 03/13/2025
2.1.1-nightly.20250312.014a2f7 21 03/12/2025
2.1.1-nightly.20250311.014a2f7 32 03/11/2025
2.1.1-nightly.20250310.014a2f7 19 03/10/2025
2.1.1-nightly.20250309.014a2f7 20 03/09/2025
2.1.1-nightly.20250308.014a2f7 23 03/08/2025
2.1.1-nightly.20250307.014a2f7 23 03/07/2025
2.1.1-nightly.20250306.014a2f7 46 03/06/2025
2.1.1-nightly.20250305.014a2f7 22 03/05/2025
2.1.1-nightly.20250304.014a2f7 47 03/04/2025
2.1.1-nightly.20250303.014a2f7 23 03/03/2025
2.1.1-nightly.20250302.4b887f5 26 03/02/2025
2.1.1-nightly.20250301.2caca5a 47 03/01/2025
2.1.1-nightly.20250228.2caca5a 20 02/28/2025
2.1.1-nightly.20250227.2caca5a 48 02/27/2025
2.1.1-nightly.20250226.2caca5a 21 02/26/2025
2.1.1-nightly.20250225.2caca5a 23 02/25/2025
2.1.1-nightly.20250224.2caca5a 30 02/24/2025
2.1.1-nightly.20250223.2caca5a 21 02/23/2025
2.1.1-nightly.20250222.2caca5a 29 02/22/2025
2.1.1-nightly.20250221.2caca5a 30 02/21/2025
2.1.1-nightly.20250220.2caca5a 24 02/20/2025
2.1.1-nightly.20250219.2caca5a 25 02/19/2025
2.1.1-nightly.20250218.2caca5a 29 02/18/2025
2.1.1-nightly.20250217.2caca5a 30 02/17/2025
2.1.1-nightly.20250216.2caca5a 27 02/16/2025
2.1.1-nightly.20250215.2caca5a 32 02/15/2025
2.1.1-nightly.20250214.2caca5a 38 02/14/2025
2.1.1-nightly.20250212.2caca5a 28 02/12/2025
2.1.1-nightly.20250211.2caca5a 28 02/11/2025
2.1.1-nightly.20250210.2caca5a 29 02/10/2025
2.1.1-nightly.20250209.2caca5a 30 02/09/2025
2.1.1-nightly.20250208.2caca5a 39 02/08/2025
2.1.1-nightly.20250207.f3adb17 43 02/07/2025
2.1.1-nightly.20250206.64e8ce1 37 02/06/2025
2.1.1-nightly.20250205.64e8ce1 28 02/05/2025
2.1.1-nightly.20250204.c697731 44 02/04/2025
2.1.1-nightly.20250203.f092940 33 02/03/2025
2.1.1-nightly.20250202.f092940 28 02/02/2025
2.1.1-nightly.20250201.f092940 27 02/01/2025
2.1.1-nightly.20250131.f092940 40 01/31/2025
2.1.1-nightly.20250130.f092940 40 01/30/2025
2.1.1-nightly.20250129.f092940 41 01/29/2025
2.1.1-nightly.20250128.51b0057 40 01/28/2025
2.1.1-nightly.20250127.51b0057 39 01/27/2025
2.1.1-nightly.20250126.51b0057 41 01/26/2025
2.1.1-nightly.20250125.51b0057 41 01/25/2025
2.1.1-nightly.20250124.51b0057 27 01/24/2025
2.1.1-nightly.20250123.5299e59 31 01/23/2025
2.1.1-nightly.20250122.e879e94 31 01/22/2025
2.1.1-nightly.20250121.eca3bc1 29 01/21/2025
2.1.1-nightly.20250120.878fbec 44 01/20/2025
2.1.1-nightly.20250119.878fbec 33 01/19/2025
2.1.0 149 12/31/2024
2.1.0-nightly.20250118.17b9973 31 01/18/2025
2.1.0-nightly.20250117.52f4005 30 01/17/2025
2.1.0-nightly.20250116.52f4005 47 01/16/2025
2.1.0-nightly.20250115.52f4005 31 01/15/2025
2.1.0-nightly.20250114.52f4005 30 01/14/2025
2.1.0-nightly.20250113.8f44eff 33 01/13/2025
2.1.0-nightly.20250112.8f44eff 28 01/12/2025
2.1.0-nightly.20250111.3d6d76b 30 01/11/2025
2.1.0-nightly.20250110.b7035f4 32 01/10/2025
2.1.0-nightly.20250109.9e4811a 41 01/09/2025
2.1.0-nightly.20250108.9e4811a 33 01/08/2025
2.1.0-nightly.20250107.9e4811a 48 01/07/2025
2.1.0-nightly.20250106.9e4811a 37 01/06/2025
2.1.0-nightly.20250105.9e4811a 32 01/05/2025
2.1.0-nightly.20250104.f23ed36 31 01/04/2025
2.1.0-nightly.20250103.2a85c39 33 01/03/2025
2.1.0-nightly.20250102.2a85c39 33 01/02/2025
2.1.0-nightly.20250101.0cb2f89 35 01/01/2025
2.1.0-nightly.20241231.b52bf90 44 12/31/2024
2.1.0-nightly.20241230.e1bc0ba 40 12/30/2024
2.1.0-nightly.20241230.773ff0a 37 12/30/2024
2.1.0-nightly.20241229.54be67b 78 12/29/2024
2.1.0-nightly.20241228.0a759de 33 12/28/2024
2.1.0-nightly.20241227.402ef16 33 12/27/2024
2.1.0-nightly.20241226.7c81acb 35 12/26/2024
2.1.0-nightly.20241226.0fc7d1f 39 12/26/2024
2.1.0-nightly.20241225.e7a99b6 42 12/25/2024
2.1.0-nightly.20241224.e293b64 39 12/24/2024
2.1.0-nightly.20241223.e293b64 53 12/23/2024
2.1.0-nightly.20241222.e293b64 52 12/22/2024
2.1.0-nightly.20241221.e293b64 38 12/21/2024
2.1.0-nightly.20241220.e293b64 54 12/20/2024
2.1.0-nightly.20241220.e0c54b9 34 12/20/2024
2.1.0-nightly.20241220.c45aaa8 38 12/20/2024
2.1.0-nightly.20241219.e0c54b9 46 12/19/2024
2.1.0-nightly.20241218.7ff3ff1 40 12/18/2024
2.1.0-nightly.20241217.1279c7b 38 12/17/2024
2.1.0-nightly.20241216.9ff62e8 47 12/16/2024
2.1.0-nightly.20241215.9ff62e8 40 12/15/2024
2.1.0-nightly.20241214.9ff62e8 33 12/14/2024
2.1.0-nightly.20241213.9ff62e8 40 12/13/2024
2.1.0-nightly.20241212.9ff62e8 42 12/12/2024
2.1.0-nightly.20241211.9ff62e8 41 12/11/2024
2.1.0-nightly.20241210.ba792c4 47 12/10/2024
2.1.0-nightly.20241209.69b3821 46 12/09/2024
2.1.0-nightly.20241208.c435869 47 12/08/2024
2.1.0-nightly.20241207.82b53c8 46 12/07/2024
2.1.0-nightly.20241206.82b53c8 42 12/06/2024
2.1.0-nightly.20241205.82b53c8 46 12/05/2024
2.1.0-nightly.20241204.82b53c8 45 12/04/2024
2.1.0-nightly.20241203.82b53c8 32 12/03/2024
2.1.0-nightly.20241130.82b53c8 33 11/30/2024
2.1.0-nightly.20241129.82b53c8 46 11/29/2024
2.1.0-nightly.20241128.82b53c8 47 11/28/2024
2.1.0-nightly.20241127.82b53c8 42 11/27/2024
2.1.0-nightly.20241126.82b53c8 51 11/26/2024
2.1.0-nightly.20241125.82b53c8 45 11/25/2024
2.1.0-nightly.20241124.82b53c8 77 11/24/2024
2.1.0-nightly.20241123.8c6b466 47 11/23/2024
2.1.0-nightly.20241122.8c6b466 52 11/22/2024
2.1.0-nightly.20241121.8c6b466 32 11/21/2024
2.1.0-nightly.20241120.8b1a087 45 11/20/2024
2.1.0-nightly.20241119.93c22eb 50 11/19/2024
2.1.0-nightly.20241118.93c22eb 35 11/18/2024
2.1.0-nightly.20241117.93c22eb 51 11/17/2024
2.1.0-nightly.20241116.93c22eb 48 11/16/2024
2.1.0-nightly.20241115.93c22eb 54 11/15/2024
2.1.0-nightly.20241114.93c22eb 31 11/14/2024
2.1.0-nightly.20241113.93c22eb 51 11/13/2024
2.1.0-nightly.20241112.248d1cd 51 11/12/2024
2.1.0-nightly.20241111.248d1cd 54 11/11/2024
2.1.0-nightly.20241110.e8ee7e0 52 11/10/2024
2.1.0-nightly.20241109.e8ee7e0 53 11/09/2024
2.1.0-nightly.20241108.8ba35d0 55 11/08/2024
2.1.0-nightly.20241108.8477567 61 11/08/2024
2.1.0-nightly.20241107.25e6fd7 50 11/07/2024
2.1.0-nightly.20241106.25e6fd7 54 11/06/2024
2.1.0-nightly.20241105.4d6adf5 56 11/05/2024
2.1.0-nightly.20241105.25e6fd7 56 11/05/2024
2.1.0-nightly.20241104.4d6adf5 35 11/04/2024
2.1.0-nightly.20241104.3fd0f4f 33 11/04/2024
2.1.0-nightly.20241103.3fd0f4f 50 11/03/2024
2.1.0-nightly.20241102.3fd0f4f 54 11/02/2024
2.1.0-nightly.20241101.3fd0f4f 49 11/01/2024
2.1.0-nightly.20241031.3fd0f4f 54 10/31/2024
2.1.0-nightly.20241030.3fd0f4f 56 10/30/2024
2.1.0-nightly.20241029.3fd0f4f 56 10/29/2024
2.1.0-nightly.20241028.3fd0f4f 54 10/28/2024
2.1.0-nightly.20241027.3fd0f4f 53 10/27/2024
2.1.0-nightly.20241026.3fd0f4f 52 10/26/2024
2.1.0-nightly.20241025.3fd0f4f 45 10/25/2024
2.1.0-nightly.20241024.9bb5282 55 10/24/2024
2.1.0-nightly.20241023.9bb5282 52 10/23/2024
2.1.0-nightly.20241022.9bb5282 56 10/22/2024
2.1.0-nightly.20241021.9bb5282 55 10/21/2024
2.1.0-nightly.20241020.9bb5282 59 10/20/2024
2.1.0-nightly.20241019.9bb5282 55 10/19/2024
2.1.0-nightly.20241018.9bb5282 57 10/18/2024
2.1.0-nightly.20241017.9bb5282 59 10/17/2024
2.1.0-nightly.20241016.9bb5282 59 10/16/2024
2.1.0-nightly.20241015.9bb5282 33 10/15/2024
2.1.0-nightly.20241014.9bb5282 34 10/14/2024
2.1.0-nightly.20241013.9bb5282 56 10/13/2024
2.1.0-nightly.20241012.9bb5282 32 10/12/2024
2.1.0-nightly.20241011.9bb5282 46 10/11/2024
2.1.0-nightly.20241009.9bb5282 56 10/09/2024
2.1.0-nightly.20241008.9bb5282 56 10/08/2024
2.1.0-nightly.20241007.9bb5282 57 10/07/2024
2.1.0-nightly.20241006.4099e01 56 10/06/2024
2.0.9 149 10/01/2024
2.0.9-nightly.20241006.119dd40 56 10/06/2024
2.0.9-nightly.20241005.119dd40 56 10/05/2024
2.0.9-nightly.20241004.119dd40 55 10/04/2024
2.0.9-nightly.20241003.119dd40 54 10/03/2024
2.0.9-nightly.20241002.119dd40 55 10/02/2024
2.0.9-nightly.20241001.bedb272 57 10/01/2024
2.0.9-nightly.20240930.006258e 57 09/30/2024
2.0.8 101 09/29/2024
2.0.8-nightly.20240930.13d122d 56 09/30/2024
2.0.8-nightly.20240929.cf61d64 57 09/29/2024
2.0.8-nightly.20240928.cf61d64 55 09/28/2024
2.0.8-nightly.20240927.cf61d64 59 09/27/2024
2.0.8-nightly.20240926.cf61d64 57 09/26/2024
2.0.8-nightly.20240925.cf61d64 60 09/25/2024
2.0.8-nightly.20240924.cf61d64 57 09/24/2024
2.0.8-nightly.20240923.cf61d64 35 09/23/2024
2.0.8-nightly.20240922.47ec8ee 62 09/22/2024
2.0.8-nightly.20240921.47ec8ee 58 09/21/2024
2.0.8-nightly.20240920.47ec8ee 58 09/20/2024
2.0.8-nightly.20240919.47ec8ee 61 09/19/2024
2.0.8-nightly.20240918.47ec8ee 32 09/18/2024
2.0.8-nightly.20240917.47ec8ee 58 09/17/2024
2.0.8-nightly.20240916.47ec8ee 58 09/16/2024
2.0.8-nightly.20240915.ceae473 55 09/15/2024
2.0.8-nightly.20240914.0f65302 107 09/14/2024
2.0.8-nightly.20240913.f82616f 57 09/13/2024
2.0.8-nightly.20240913.7bb81bd 56 09/13/2024
2.0.8-nightly.20240913.606d5ba 59 09/13/2024
2.0.8-nightly.20240912.322c516 58 09/12/2024