Standard ML of New Jersey
Release Notes


Version 2026.1
March 14, 2026


Summary

This release modifies the startup script to support Linux 7. It also contains a critical bug fix in the LLVM code generator.

Details

Compiler

  • Switched the backend to use LLVM 21.1.8

CM

  • The "required privileges" message is no longer printed when the CM verbose flag is set to false (e.g., by using the command-line option -Ccm.verbose=false)

Basis Library

  • Added Unsafe.Int structure to provide typed access to integer addition and subtraction without overflow checking.

SML/NJ Library

  • Added sizeOfValue function to the JSON_STREAM_OUTPUT signature

  • Added Rand48 structure.

Installation

  • We now provide architecture-specific compressed tarballs of the system (in addition to the macOS installer packages). These files include all of the source code and the boot files for the architecture. See the installation instructions for details.

Bugs

Here is a list of the issues and pull requests that are closed with this release.

Issue Description

327

JSON library: hint size of JSON.value after serialization

335

REPL should always print reals as valid SML real literals

338

incorrect compilation of some large integer literals

We also fixed the following bugs that did not have issues associated with them (or were bug fixes ported from the legacy repository):

Supported systems

We believe that SML/NJ will build and run on the following systems, but have only tested some of them:

Architecture Operating System Status

AMD64

macOS 11 (Big Sur)

macOS 12 (Monterey)

macOS 13 (Ventura)

macOS 14 (Sonoma)

macOS 15 (Sequoia)

Tested

macOS 26 (Tahoe)

Ubuntu 20.04.6 LTS

Tested

Ubuntu 22.04.2 LTS

Tested

 

ARM64

macOS 11 (Big Sur)

macOS 12 (Monterey)

macOS 13 (Ventura)

macOS 14 (Sonoma)

macOS 15 (Sequoia)

Tested

macOS 26 (Tahoe)

Tested

Linux