gitlabEdit

newspaperBreaking changes

What broke between versions?

When we're making new versions of this library, there are several breaking changes that we had to make to maintain the library better and to introduce new features and/or improvements.


From 1.0.0-1.5.0 to 1.6.0

The version 1.6.0 of the library has introduced the following breaking changes:

chevron-rightMoved namespaceshashtag
PlatformHelper.cs
namespace SpecProbe.Platform { }

PlatformHelper included platform-specific tools that check for the installed operating system on your computer, as well as other properties, such as the architecture. However, one of the SpecProbe versions moved this source file to SpecProbe.Software, but the namespace didn't change. As a result, we had to adjust it to match the assembly in question.

circle-info

Starting from this version, you'll need to update all the libraries that refer to this platform helper to use the brand new namespace to avoid bogus loading errors.


From 1.6.0 to 3.0.0

The version 3.0.0 of the library has introduced the following breaking changes:

chevron-rightLibrary manager reworkedhashtag
LibraryItem.cs
public class LibraryItem { }

In order to simplify things, we've decided to lower the requirement of managing native libraries so that you need to just call the constructor of one class instead of two. That class that you need to create has a path to a native library file that you wish to load.

LibraryManager.cs
public LibraryItem FindItem() { }

As a result, the above function has been removed.

LibraryManager.cs
public LibraryManager(params LibraryItem[] items) { }

Also, the above constructor has been changed to take an array of LibraryFile classes that specify which file to load.

circle-exclamation
chevron-rightRefactored parser functionshashtag

We've refactored all parser functions so that they more accurately reflect the hardware type being parsed, with single-array properties actually being a single class instance to simplify things. As a result, we've renamed all the properties and changed them into functions:

  • Processors -> GetProcessor()

  • Memory -> GetMemory()

  • Video -> GetVideos()

  • HardDisk -> GetHardDisks()

In addition to that, each device type now store their own errors instead of grouping exceptions together. This further simplifies exception handling. This led to a rename of the Errors property to GetParseExceptions().

circle-info

In order to upgrade to 3.0.0, you must change all calls to the device info properties so that the above functions can be called instead.

Last updated