gitlabEdit

upAPI v8.0

Breaking changes for API v8.0

Here is a list of breaking changes that happened during the API v8.0 period when differing versions of Terminaux introduced breaking changes.

From 7.0.x to 8.0.x

Between the 7.0.x and 8.0.x version range, we've made the following breaking changes:

BassBoom library path settings moved

TermReaderSettings.cs
public string BassBoomLibraryPath
{
    get => bassBoomLibraryRoot ?? "";
    set => bassBoomLibraryRoot = value;
}

The BassBoom library path is supposed to be set once, because BassBoom loads the library once before being functional. To reflect BassBoom's behavior, we've decided to move the above property to the static class of Input.

circle-info

Update all references to this property to use the new location.

General console checker removed

ConsoleChecker.cs
public static void CheckConsole() {}
public static void AddToCheckWhitelist(Assembly asm) {}
public static void RemoveFromCheckWhitelist(Assembly asm) {}

We have removed the general console checker as part of an ongoing effort to properly support file redirects and pipes for Terminaux CLI applications that use the provided console writing functions that support color. This will allow your application to use those functions without having to write a separate code path for dumb consoles.

triangle-exclamation

Console filter removed

We have removed the console filter feature as part of an ongoing effort to properly support file redirects and pipes for Terminaux CLI applications that use the provided console writing functions that support color. This will allow your application to use those functions without having to write a separate code path for dumb consoles.

triangle-exclamation

From 8.0.x to 8.1.x

Between the 8.0.x and 8.1.x version range, we've made the following breaking changes:

Decoupling color class prepared

To prepare the Color class for decoupling, we've managed to move all Terminaux-specific functions and properties, alongside the functionality, to independent classes that Terminaux applications can rely on. Those classes extend Colorimetry's original color class that was taken straight from Terminaux after the preparation stage.

circle-info

You'll need to update all references to those functions to point to the new class. Additionally, if you're using VTSequence* properties, they have now become extension functions, which means that you'll have to add the () marks at the end of each call.

Moved the themes system to Terminaux.Themes

As the themes system is not going to be part of Colorimetry due to large portions of the theme system using Terminaux-specific console features, we've decided to move the themes system and their classes to a new namespace, which is Terminaux.Themes.

circle-info

You'll need to update all using clauses to point to Terminaux.Themes and Terminaux.Themes.Colors.

Consistency in selection style TUI indexes

In the SelectionStyle class, we've made the experience more consistent by letting all returned answer numbers in the single-selection style TUIs become zero-based. This was because the multiple selection style TUI used zero-based numbers, while the single selection style TUI originally used the one-based answer numbers, and this traces back to when Nitrocid 0.0.20.0 was under early development on October 2021 as per this commitarrow-up-right.

Now, we've cleaned that up by making the numbers become indexes, thus making them zero-based.

circle-exclamation