release: v0.12.0

Native x86-64 is the default backend with a complete internal assembler and
internal linker — compiling and linking with zero external tools (QBE is now
opt-in via --backend qbe, deprecated).  Incremental, per-unit compilation is
the default, and per-unit OPDF makes incrementally-built multi-unit programs
fully debuggable in pdr.  Ships a real opt-in stdlib: JSON, SHA-1/Base64, RFC
4122 GUIDs, TCP sockets, WebSockets, a minimal HTTP/1.1 server, plus the
blaise.testing framework.  .bif format advanced to v2.

Includes two incremental-toolchain fixes folded in before release: the internal
linker now errors instead of silently emitting a runtime-less binary when
blaise_rtl.a is unreachable, and warm --unit-cache rebuilds propagate staleness
to dependents of an edited unit (previously raised EImportError / could crash).

Fixpoint verified at 410477 lines of QBE IR — FIXPOINT_OK, NATIVE_FIXPOINT_OK,
NATIVE_INTERNAL_OK, and WARMCACHE_FIXPOINT_OK all green.  3745 compiler tests
(1 ignored) + 57 stdlib tests passing.
This commit is contained in:
Graeme Geldenhuys 2026-06-24 07:44:29 +01:00
parent 3ff19c0a00
commit 65e7b87a7c
3 changed files with 3 additions and 3 deletions

View file

@ -40,7 +40,7 @@ type
TBackend = TBackendKind;
const
Version = '0.12.0-SNAPSHOT';
Version = '0.12.0';
CompilerName = 'Blaise';
{ Build the --backend usage fragment from the registered drivers, with

View file

@ -24,7 +24,7 @@ unit uCompilerId;
interface
const
COMPILER_ID = 'blaise-0.12.0-SNAPSHOT+bif2';
COMPILER_ID = 'blaise-0.12.0+bif2';
implementation

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<name>blaise</name>
<version>0.12.0-SNAPSHOT</version>
<version>0.12.0</version>
<author>Graeme Geldenhuys</author>
<license>Apache-2.0 WITH Swift-exception</license>