This release was made on 9th February 2026 and was based on commit 9.4-2-gd8a253a4d.

The previous release, 9.2, was made on 29th September 2025 and was based on commit 9.2-0-g8cef7d2df.

The main change is the large reduction in run-time RAM use. The public API is identical to 9.2 apart from terrain heights now being returned as floating-point numbers rather than as integers.

Large reduction of run-time RAM use

Run-time RAM peak use, of both main memory and dedicated graphics memory, has been reduced to about half of what it was when using the graphics-accelerated display system. This was achieved by storing coordinates in 16-bit numbers instead of 32-bit numbers and using fixed rather than variable vertex attributes.

Files can now be loaded using file descriptors, removing the need to copy files on Android

The Android platform packs assets such as files, fonts and style sheets into a single archive. CartoType can now read files directly from an archive by obtaining a file descriptor, start, and length for the part of the archive containing the file, and passing that information when specifying the file. Filenames using the syntax ":FD,START,LENGTH" are parsed into a file descriptor, start offset in bytes, and length in bytes. (Ordinary filenames can also be suffixed with an optional start and length, but that part of the new feature is not yet used.) This new feature removes the need to unpack data from Android asset archives and copy it to new files.

The prerequisite for using these 'file pseudonyms' is that the assets you wish to read using them are not compressed. You can specify that CartoType maps and style sheets, together with TrueType fonts, are not to be compressed, by adding the following to the build.gradle file for your application:

 aaptOptions
    {
    noCompress 'ctm1', 'ctstyle', 'ttf'
    }

The Android demonstration program contains code that uses this new feature.

Terrain heights are now returned as floating-point numbers

Terrain heights are now returned as floating-point numbers rather than integers, allowing fractional numbers of metres to be returned.

makemap now creates street indexes much faster

The makemap tool has been refactored to run up to a hundred times as fast when creating street indexes, which were a great bottleneck.