Compile Time Changes

TBInfo changes

The class field lastSelectedTab has been removed and is replaced with lastSelectedTabKey. The decision to store the last selected tab's key instead of the index position is to allow exact string matching when remembering and restoring the last selected toolbox tab, further improving consistency when loading the last selected toolbox tab.

Removed: public int lastSelectedTab;
Added: public str lastSelectedTabKey;

MessageWindow

The MessageWindow class has been moved from cm.core.toolbox to cm.win.

Toolbox

The cm.win function endProgress was accidentally overriden by Toolbox in 16.0, this has been removed.

Removed:  final public void endProgress() {

ToolboxButtonPainter

New argument UIHint hint has been added.

Old: public constructor(ComboTextPainter victim, str->Object styles) : deprecated {
New: public constructor(ComboTextPainter victim, str->Object styles, UIHint hint) {

LazySnapper3DMemoryButton

The method convertToBitmap has been removed as it is no longer necessary to convert a DibImage into a MemoryImage.

Removed: extend public void convertToBitmap(DibImage dib, sizeI dim) {

Runtime/Behavior Changes

Core settings for toolboxCurrentTab changes

Following the changes to replace the lastSelectedTab field with lastSelectedTabKey in tbInfo.cm, the last selected tab is now stored as a str instead of an int in core settings. Although the key remains unchanged as toolboxCurrentTab_<toolboxCardKey>, developers may need to modify the casting type when retrieving the key from an int to a str to accommodate for this change.