SwiftForth Release History

This page lists recent SwiftForth release notes. For versions released prior to SwiftForth 4.0.0, see the SwiftForth Release Archive.

Update policy

Updating to the latest version of SwiftForth is available to customers with current support subscriptions. The support subscription period included with your original purchase of a SwiftForth license or upgrade is one year. Support subscriptions may be renewed online for $129 per year. Included in the support period are unlimited downloads of new releases as well as engineer-level technical support via email.

Installation Notes

See the SwiftForth Installation Notes page for info on installing SwiftForth for Windows, Linux, and macOS.

SwiftForth-4.0.9 (11-Dec-2025)

  • Added compatibility word CONFIG-PATH that returns the path to the directory for the user’s private SwiftForth configuration files. This can be used across platforms. The locations are as follows:
    Windows: C:\Users\\AppData\Local\ForthInc\
    Linux: $HOME/.config/ForthInc/
    macOS: $HOME/Library/Preferences/com.forth.swiftforth/
    Note: The Windows installer will migrate your command window history log from its old location (a path that is deprecated in Windows 11) to the new location.
  • Fixed FUNCTION: in Windows version to correctly compile calls to external functions with variadic arguments (varargs)

SwiftForth-4.0.8 (04-Dec-2025)

  • Fixed FUNCTION: in Linux and macOS versions to correctly compile calls to external functions with variadic arguments (varargs)
  • Updated a few more of the Windows samples for 64-bit system compatibility
  • Fixed a very rare race condition in which the Windows WM_PAINT message is received before WM_CREATE finishes processing (thanks to Bob Dickow for the good detective work on this one)
  • Updated app icons

SwiftForth-4.0.7 (26-Nov-2025)

  • Fixed the order of arguments passed by FUNCTION: on Linux and macOS x64 versions when there is more than one floating-point argument.
  • Added a SWOOP SEMAPHORE class for a simple way to synchronize threads. The abstraction (class and methods) is used identically on Windows, Linux, and macOS.
  • Fixed the decompiler so it correctly decodes FUNCTION: definitions
  • Added tests so your code can query which platform it’s on.
    SYSTEM-WINDOWS? ( — flag )
    SYSTEM-LINUX? ( — flag )
    SYSTEM-MACOS? ( — flag )
  • Updated installer desktop and group folder shortcuts

SwiftForth-4.0.6 (19-Nov-2025)

  • Updated some of the Windows demos for both 32- and 64-bit compatibility (Sokoban, Tetris, Gibbs, Treeview, Magnify). Thanks to Robert Dickow for working through the samples.
  • Fixed a compatibility issue between in (EXT-INLINE) (part of the external library interface) in code shared by macOS and Linux versions. Thanks to Toxopeus for helping track this down.

SwiftForth-4.0.5 (16-Nov-2025)

  • SwiftForth Reference Manual corrections and fixes (thanks to everyone who submitted all the detailed lists of corrections!)
  • Added GTK4 SWOOP classes and examples (this is a work in progress)
  • Fixed Windows paths in tetris and sokoban samples
  • Fixed Linux and macOS (EXT-INLINE) for functions with mixed arguments
  • Cleaned up Linux ELF headers
  • Added SwiftForth/src/loaders to the distro for reference
  • Corrected typo in Linux “segmentation fault” error message
  • Removed spurious graphic character in Windows splash screen text

SwiftForth-4.0.4 (04-Nov-2025)

  • Updated the i386 optimizer rules to match the x64 rules
  • A few more updates to the SwiftForth Reference Manual
  • Printed copies of SwiftForth Reference Manual are now available on Amazon
  • Updated Windows Tetris demo to correct paths
  • Updated the Linux i386 and x64 loaders to use proper ELF headers

SwiftForth-4.0.3 (27-Oct-2025)

  • Fixed a few errors and omissions in the SwiftForth Reference Manual. (Thanks to Stefan for the nice list of corrections!)
  • Updated lib/cocoa for macOS
  • Updated references in doc/readme
  • Update sqlite3 demo and source from original author (Thanks, Tony!)

SwiftForth-4.0.2 (24-Oct-2025)

  • Fixed structure alignment and field errors in WIndows sio.f. This has been tested in both sf32 and sf64. If you click on the com port status at the bottom of of the debug window, it now opens a Windows com port configuration dialog. Important: If your application uses sio.f, you need this update.
  • Fixed the order of returned items for REPRESENT Nan and Inf results
  • Switched back to BL WORD COUNT in the interpreter loop for compatibility with ABORT”
  • Updated the sqlite3 interface to use FUNCTION: instead of CIMPORT: (which is obsolete). If you use this, be sure you have the correct sqlite.dll (32-bit for sf32 or 64-bit for sf64) in your execution path.

SwiftForth-4.0.1 (23-Oct-2025)

  • Minor updates to comments in source files
  • Fixed bug in REPRESENT for Nan and Inf results (thanks to Ed for the fix)

SwiftForth-4.0.0 (22-Oct-2025)

This is a major system release.

If you are upgrading from a version of SwiftForth prior to SwiftForth 4.0.0, here are a few things you need to know.

  • Any shortcuts or symlinks you have to SwiftForth will need to be updated. For example, if you had a shortcut or reference to SwiftForth/bin/sf.exe, you’ll need to change that to SwiftForth/bin/windows/sf32.exe.
  • Before you migrate from the 32-bit version to the 64-bit version, make sure you remove all 32-bit environmental dependencies. This includes things like cell size dependencies and code definitions.
  • If you were loading the floating-point math option with REQUIRES FPMATH, you won’t need that anymore as the floating-point support is now standard.
  • f your application has any dependencies on a memory-based floating-point stack, you’ll need to update those as the stack makes exclusive use of the internal FPU register stack. This makes for much faster and tighter code. The stack macros and FNEXT have been removed.