changelog
Product:
Class:
Warning
uCalc API Preview Release Notice:The uCalc engine has successfully transitioned to modern cross-platform environments.The next phase envolves some structural changes, performance optimizations, and API refinements.The API is subject to breaking changes prior to the stable release. Please evaluate the preview version thoroughly before production use.
This page contains the technical changelog for the uCalc SDK. For a high-level overview of major new features, please see What's New.
Upgrading from a legacy version? Because of the massive architectural improvements made in recent years, the release notes is starting with a clean slate, instead of listing every change since old versions.
The uCalc SDK has been successfully packaged for modern cross-platform environments. This Developer Preview allows you to evaluate the engine's token-aware architecture, explore the interactive documentation, and integrate early before General Availability (GA).
While the core logic relies on decades of mature development, this preview is a transitional build. To set proper expectations for production use, please note the current development roadmap:
Performance Optimization: The Math Parser successfully targets modern compilers, but needs to undergo heavy re-optimization to match or exceed the extreme execution speeds of its legacy predecessors.
Structural Refinement & API Stability: The Text Transformer is slated for a clean structural rewrite under the hood to bypass current limitations and natively support advanced Language Building capabilities. Additionally, the uCalc String Library is currently still in its active design phase. Expect notable breaking API changes, especially in the String Library, as final architectures are locked in.
5.7.2-preview.0 October 15, 2026
⚠️ Breaking Changes (Preview Context)
returnFormatted) used to toggle user-defined formatting has been removed from EvalStr, EvaluateStr, ValueAt, ToString, and ValueStr. It has been replaced with two more powerful and explicit overloads:FormatStyle enum and an optional precision integer."Result = Format('{:6}', double(Result))").std or previous builds.1e-99999) will now correctly evaluate to 0, while extremely large numbers will return inf or -inf.🛠️ Fixes & Refinements
FormatStyle enum (None, Default, General, Scientific, Fixed, Hex) to provide fast, standardized control over numeric formatting without needing to define a custom format.{fmt} & C++ standard patterns.5.7.1-preview.6 September 25, 2026
Creating / releasing a uCalc object repeatedly would take up more and more memory that was never fully released, eventually resulting in running out of memory. Now fixed.
5.7.1-preview.5 September 22, 2026
5.7.1-preview.4 September 18, 2026
5.7.1-preview.3 September 15, 2026
pi, and e; more to come later.Note: The introduction of e as a constant may break your code if you relied on e as a parameter; for instance: DefineFunction("f(a,b,c,d,e) = a+b+c+d+e")
5.7.1-preview.2 September 13, 2026
var myExpr = new uCalc.Expression("5+4");Console.WriteLine(myExpr); // returns 9The previous implementation for this syntactic sugar caused ambiguity in .NET (but not C++) for some cases. Now an Expression object evaluates as a string as though EvaluateStr() were invoked. For other types, either casting or functions like EvaluateInt(), EvaluateDbl(), etc. must explicitly be used.
5.7.1-preview.1 September 9, 2026
{@File} pattern method and File() and FileSize() functions now work across platforms (was previously implemented for Windows only). Access restrictions to these will be configurable in a later update.5.7.1-preview.0 September 6, 2026
5.7.0-preview.9 August 30, 2026
5.7.0-preview.8 August 28, 2026
5.7.0-preview.7 August 26, 2026
5.7.0-preview.6 August 23, 2026
5.7.0-preview.5 August 21, 2026
5.7.0-preview.4 August 19, 2026
5.7.0-preview.3 August 14, 2026
5.7.0-preview.2 August 7, 2026
5.7.0-preview.1 July 29, 2026
Major relaunch of uCalc with smarter functionality and extensive documentation, including 600+ interactive online examples, and AI assistant.
This page last modified on: