An overview of the complete development path from the 1.10.0 release through the current 1.20.4 tree.
Description
The documentation audit covered all 804 commits after tag 1.10.0 through commit 26fe670a9. The 1.10 maintenance branch and 1.20 main line developed in parallel, and the FBXL 1.10.4 development branch was imported into 1.20.1 rather than released here as a separate 1.10.4 tag.
Version 1.20.2 was a real development identifier used from July 1 through August 11, 2026, but it was not tagged. Its detailed changes were carried into the next tagged release, 1.20.3.
1.10 maintenance releases
- 1.10.1: corrected GCC array descriptors, GAS64 debug and NaN behavior, OpenGL scaling, preprocessor macro contexts, and Emscripten archive, WSTRING, path, and Asyncify behavior; added -fbgfx and the MariaDB binding.
- 1.10.2: added ARM hard-float and default-CPU selection, ARM bootstrap distribution support, package-target naming, and a refreshed BASS binding.
- 1.10.3: corrected UDT pointer casts, DOS wide-character termination, array reallocation diagnostics, and package scripts; refreshed WinAPI and other bindings.
1.20.0
- Made NaN comparisons and floating conditional behavior consistent across compiler backends.
- Defined bounded STRING * N storage, initialization, argument, copyback, LEN, SWAP, LSET, and RSET behavior.
- Added #ELSEIFDEF, #ELSEIFNDEF, #pragma private, #pragma profile, END WHILE, the built-in profiler, and the related intrinsic defines.
- Added -earraydims, -sysroot, -gen clang, -fpu neon, -nolib, -z nobuiltins, -z optabstract, fork identification, FB_ARG_LISTEXPAND, and extended symbol queries.
- Added Android compiler groundwork, new ARM selections, position-independent executables, runtime error constants, builtin.bi, and architecture support used by later ports.
- Added the FLTK 1.3 C
binding for desktop user-interface programs.
1.20.1
- Added the built-in sfxlib command family and portable audio backends.
- Added Open Tcp, Open Tcp Server, Tcp Accept, Eoc, modern controller polling, and touch input.
- Added or revived Android APK, JavaScript/Emscripten, Wii homebrew, original Xbox/nxdk, Haiku, Darwin, BSD, Solaris, and illumos target paths.
- Added vbdos.bi for compatible DOS interrupt and register declarations.
- Expanded Linux architecture support and replaced the old monolithic build logic with platform-aware build, package, test, and bootstrap modules.
- Added package builders, clean-install validation, fbctests, Exampleageddon, command sweeps, strict diagnostics, emulation, and retained evidence across the expanded target set.
1.20.2 development baseline
- Added the experimental nuttx-riscv32 compiler, NuttX runtime, sockets, GPIO, low-memory graphics, sound, QEMU checks, and ESP32-P4/RP2350 workflows.
- Completed substantial Darwin/macOS CRT, socket, pthread, regex, stat, curl, curses, libffi, framework, and ownership testing.
- Consolidated Unix platform code and repaired BSD, Haiku, Solaris, and illumos runtime and package behavior.
- Introduced the opt-in gfxlib3 Vulkan/OpenGL/OpenGL ES runtime, checked PNG support, and historical SCREEN modes 3 through 6.
- Added direct Emscripten WebSocket declarations and a browser example.
- Added the software FM MIDI fallback and used strict compiler, static-analysis, fbctests, and example sweeps to fix bounds, ownership, alignment, and lifetime defects.
1.20.3
- Added RISC OS, AROS x86-64/ARM/m68k, Linux MIPS32/MIPS64 in both byte orders, and Windows CE ARM/MIPS.
- Isolated target-specific compiler hooks in per-platform source directories and added architecture-sensitive runtime replacement layers.
- Added portable fbcom.bi serial status and control over Open Com handles.
- Added broad GitHub Actions build, package, emulation, release-publication, and failure-evidence workflows.
- Added the native ARM64 Termux plus Ubuntu PRoot Android APK development path.
1.20.4
The current tree adds checked PNG and SIMD media paths, whole-tree C diagnostics, Windows 95 compatibility and native qualification, and further AROS, RISC OS, NetBSD, Haiku, package, and repository fixes. See
What's new in FreeBASIC 1.20.4.
See also