Canvas and Device

See https://git.configura.com/cet/external/base/-/merge_requests/29409

Compiler

Fixed File::getStrLine bugs

This function is no longer prone to infinite loops and properly generates a string of characters, not their ASCII codes.

Logging behaviour improvements

The internal printf wrapper function, which is also used for pln and pnn, should now handle invalid characters by replacing them rather than silently aborting output (and skipping the logfile).

Memory usage analysis tools (cm.runtime.memUsage/"Measure memory usage")

The MemUsage tool has been refactored for better performance and significantly lower memory usage.

Fixed name collision issues between non-interactive and interactive run blocks

Executing code using C-M-SPC (cm-compilation-interact-line) in a file with top-level run blocks used to cause problems due to using the same namespace. This is fixed in 14.0.

Snapper Graph Cache Debug Tool

See https://git.configura.com/cet/external/base/-/merge_requests/29350

cm.abstract.materialHandling

Repository migration

The Material Handling extension (extensions/custom/materialHandling) has been moved to the base repository (base/custom/materialHandling).

The Essential Guarding extension (extensions/custom/guarding) has been moved to the base repoitory (base/custom/guarding).