Standard ML of New Jersey Release Notes

Standard ML of New Jersey
Release Notes
Version 110.99.2
September 23, 2021

SML/NJ HOME

  https://smlnj.org

FILES

  https://smlnj.org/dist/working/110.99.2/

## Summary

This is a patch release that includes a few bug fixes and adds support for macOS 12 (Monterey).

## Details

### SML/NJ Library

Several improvements to the JSON library:

- Added convenience function `int` to the `JSON_STREAM_OUTPUT` interface.

- Refactored the output modules in the JSON library. These changes should not affect current clients of the library, but allow the addition of printing JSON to a `CharBuffer.buf`.

- Bug fix to `JSONUtil` module; the `FIND` path arc was not getting handled for the update functions (i.e., `replace`, `insert`, and `append`).

### 32-bit macOS issues

While the x86 installer for 110.99.2 works on macOs 10.14 Mojave, building from source requires some extra steps because the version of Xcode distributed for Mojave does not include a 32-bit SDK.

Another issue that you may encounter when building on macOs 10.14 Mojave is an error message for a shell script of the form

      /bin/sh: bad interpreter: Operation not permitted

This error arises because the `com.apple.quarantine` attribute is set on the shell script. To fix the problem, remove the attribute using the command

      xattr -d com.apple.quarantine shell-script

and resume the build.

## Bugs

Here is a list of tracked bugs fixed (or closed) with this release, please see the bug tracker for more details.

279 | `Real.toLargeInt` returns zero for anything in range `[-512,512]`
286 | Installation of SML/NJ v110.99.1 fails in fresh Ubuntu 20.04/macOS 10.15
287 | Install errors with `request asdl`
293 | SMLNJ Incompatibility with macOS 12 Beta

The following unnumbered bug was also fixed:

- Floating-point spill records were twice as large as necessary on 64-bit systems.

## 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 | FreeBSD 12.0 | Tested
| macOS 10.14 (Mojave) | Tested
| macOS 10.15 (Catalina) | Tested
| macOS 11 (Big Sur) | Tested
| macOS 12 (Monterey) | Tested
| Ubuntu 16.04.3 LTS | Tested
| Ubuntu 18.04.3 LTS | Tested
Power PC | Mac OS X 10.5 (Leopard) |
| AIX |
Sparc | Solaris |
| Linux |
x86 (32-bit) | Mac OS X 10.6 (Snow Leopard) |
| Mac OS X 10.7 (Lion) |
| Mac OS X 10.8 (Mountain Lion) |
| Mac OS X 10.9 (Mavericks) |
| Mac OS X 10.10 (Yosemite) |
| Mac OS X 10.11 (El Capitan) |
| macOS 10.12 (Sierra) | Tested
| macOS 10.13 (High Sierra) | Tested
| macOS 10.14 (Mojave) | Tested
| Ubuntu 16.04.3 LTS | Tested
| Other Linux variants |
| FreeBSD 12.0 | Tested
| Other BSD variants |
| Windows 7 |
| Windows 10 |
| Cygwin (32-bit) |