{
 "format": "heart-templates/1",
 "release": "v1.2611.1",
 "license": "Apache-2.0",
 "generated": "2026-11-12",
 "naming": "heart/embeddedstandard/<template>/v<HEART major>.<YYMM of release>[.<n>, for a second release in the same month]",
 "templates": [
  {
   "name": "arduino",
   "id": "heart/embeddedstandard/arduino/v1.2611.1",
   "language": "Arduino C++",
   "platform": "Uno, Nano, Mega, ESP32, ESP8266, RP2040",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart_arduino.ino"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "untested",
    "reason": "Not yet compiled or run: arduino-cli was not available when this release was made."
   }
  },
  {
   "name": "asm-arm-cortex-m",
   "id": "heart/embeddedstandard/asm-arm-cortex-m/v1.2611.1",
   "language": "ARM Thumb-2 assembly (GNU as)",
   "platform": "Cortex-M3, M4, M7, M33 (STM32, nRF52, SAM, LPC, RP2350)",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart.s"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "untested",
    "reason": "Not yet assembled or run: no ARM assembler was available when this release was made."
   }
  },
  {
   "name": "asm-riscv32",
   "id": "heart/embeddedstandard/asm-riscv32/v1.2611.1",
   "language": "RISC-V assembly (RV32IM, GNU as)",
   "platform": "ESP32-C3/C6, GD32V, SiFive, CH32V, any RV32IM core",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart.s"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "untested",
    "reason": "Not yet assembled or run: no RISC-V assembler was available when this release was made."
   }
  },
  {
   "name": "asm-x86-64-linux",
   "id": "heart/embeddedstandard/asm-x86-64-linux/v1.2611.1",
   "language": "x86-64 assembly (GNU as, Intel syntax)",
   "platform": "x86-64 Linux, industrial PCs, as a model for other assembly ports",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart.s"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "bridge",
   "id": "heart/embeddedstandard/bridge/v1.2611.1",
   "language": "Python 3.8+",
   "platform": "Any Linux, Raspberry Pi, building controller",
   "class": "Gateway helper",
   "level": "basic",
   "binding": "serial-line to http-server",
   "files": [
    "heart_bridge.py"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "reason": "Tested with every serial-line template."
   }
  },
  {
   "name": "c-baremetal",
   "id": "heart/embeddedstandard/c-baremetal/v1.2611.1",
   "language": "C99, no heap, no stdio",
   "platform": "Any microcontroller: ARM Cortex-M, RISC-V, AVR, ESP32, PIC, MSP430",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart_line.h",
    "heart_line.c",
    "port_linux.c",
    "port_cortex_m.c"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "c-posix",
   "id": "heart/embeddedstandard/c-posix/v1.2611.1",
   "language": "C99 (POSIX)",
   "platform": "Embedded Linux, BSD, macOS, Yocto, Buildroot, OpenWrt",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.c"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "esp32-full",
   "id": "heart/embeddedstandard/esp32-full/v1.2611.1",
   "language": "C99 core + ESP-IDF 5.2 port",
   "platform": "ESP32, ESP32-S3, ESP32-C3, ESP32-C6 (Wi-Fi); the core on any C99 target",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "README.md",
    "signals.json",
    "CMakeLists.txt",
    "sdkconfig.defaults",
    "main/CMakeLists.txt",
    "main/idf_component.yml",
    "main/Kconfig.projbuild",
    "main/certs/.gitignore",
    "main/heart_core.h",
    "main/heart_core.c",
    "main/heart_signals.h",
    "main/port_esp32.c",
    "host/port_linux.c"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1",
    "untestedParts": "main/port_esp32.c and the ESP-IDF build files have not yet been compiled or run on a chip."
   }
  },
  {
   "name": "go",
   "id": "heart/embeddedstandard/go/v1.2611.1",
   "language": "Go 1.20+",
   "platform": "Linux, macOS, Windows, embedded Linux (ARM, RISC-V, MIPS)",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "main.go"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "java",
   "id": "heart/embeddedstandard/java/v1.2611.1",
   "language": "Java 11+ (JDK only)",
   "platform": "Linux, Windows, industrial PCs, gateways",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "Heart.java"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "javascript-node",
   "id": "heart/embeddedstandard/javascript-node/v1.2611.1",
   "language": "JavaScript (Node.js 18+)",
   "platform": "Linux, macOS, Windows, Electron",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.mjs"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "micropython",
   "id": "heart/embeddedstandard/micropython/v1.2611.1",
   "language": "MicroPython 1.20+ (also runs on CPython)",
   "platform": "ESP32, Raspberry Pi Pico, STM32, nRF",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "main.py"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "php",
   "id": "heart/embeddedstandard/php/v1.2611.1",
   "language": "PHP 8.0+",
   "platform": "Web servers, shared hosting, CMS plug-ins",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.php"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "python",
   "id": "heart/embeddedstandard/python/v1.2611.1",
   "language": "Python 3.8+",
   "platform": "Linux, macOS, Windows, Raspberry Pi",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.py"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "ruby",
   "id": "heart/embeddedstandard/ruby/v1.2611.1",
   "language": "Ruby 3.0+ (stdlib only)",
   "platform": "Linux, macOS, web back ends",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.rb"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "rust",
   "id": "heart/embeddedstandard/rust/v1.2611.1",
   "language": "Rust 1.70+ (std only)",
   "platform": "Embedded Linux, desktop, server",
   "class": "Core-M",
   "level": "basic",
   "binding": "http-server",
   "files": [
    "heart.rs"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  },
  {
   "name": "wasm-wat",
   "id": "heart/embeddedstandard/wasm-wat/v1.2611.1",
   "language": "WebAssembly text format (hand-written)",
   "platform": "Browsers, Node, plug-in hosts, WAMR and wasm3 on microcontrollers",
   "class": "Core-S",
   "level": "basic",
   "binding": "serial-line",
   "files": [
    "heart.wat",
    "build.mjs",
    "run.mjs"
   ],
   "license": "Apache-2.0",
   "version": "v1.2611.1",
   "test": {
    "status": "tested",
    "date": "2026-11-12",
    "heartRating": 8.9,
    "label": "Good",
    "provisional": true,
    "metrics": "2026.11.1"
   }
  }
 ],
 "planned": [
  {
   "name": "cpp-posix",
   "language": "C++17",
   "platform": "Embedded Linux, Qt devices",
   "class": "Core-M",
   "why": "Many product teams work in C++; the C template works today."
  },
  {
   "name": "typescript-deno",
   "language": "TypeScript (Deno, Bun)",
   "platform": "Edge and server apps",
   "class": "Core-M"
  },
  {
   "name": "browser-worker",
   "language": "JavaScript + heart-core WASM",
   "platform": "Web apps (Web Worker)",
   "class": "Core-M",
   "why": "Full HEART in a browser tab, with approvals and the Valve."
  },
  {
   "name": "rust-heart-core",
   "language": "Rust + heart-core crate",
   "platform": "Embedded Linux, Core-M and Core-L",
   "class": "Core-M",
   "why": "HEART Full from the reference implementation."
  },
  {
   "name": "rust-embedded-nostd",
   "language": "Rust no_std (embedded-hal)",
   "platform": "Cortex-M, RISC-V, ESP32",
   "class": "Core-S"
  },
  {
   "name": "csharp-dotnet",
   "language": "C# (.NET 8)",
   "platform": "Windows, industrial PCs, Linux",
   "class": "Core-M"
  },
  {
   "name": "kotlin-android",
   "language": "Kotlin",
   "platform": "Android apps and devices",
   "class": "Core-M"
  },
  {
   "name": "swift",
   "language": "Swift",
   "platform": "iOS, macOS, Linux",
   "class": "Core-M"
  },
  {
   "name": "dart-flutter",
   "language": "Dart",
   "platform": "Flutter apps",
   "class": "Core-M"
  },
  {
   "name": "zig",
   "language": "Zig",
   "platform": "Embedded and systems",
   "class": "Core-S"
  },
  {
   "name": "ada-spark",
   "language": "Ada / SPARK",
   "platform": "Rail, avionics, defence (outside the safety function)",
   "class": "Core-S"
  },
  {
   "name": "lua-openwrt",
   "language": "Lua",
   "platform": "OpenWrt routers, NodeMCU",
   "class": "Core-M"
  },
  {
   "name": "zephyr",
   "language": "C (Zephyr RTOS module)",
   "platform": "Zephyr boards",
   "class": "Core-S"
  },
  {
   "name": "freertos",
   "language": "C (FreeRTOS task)",
   "platform": "FreeRTOS microcontrollers",
   "class": "Core-S"
  },
  {
   "name": "iec61131-st",
   "language": "IEC 61131-3 Structured Text",
   "platform": "PLCs (CODESYS, TwinCAT, Siemens SCL)",
   "class": "Core-S",
   "why": "Factory controllers. Supervisory side only, never in the safety logic."
  },
  {
   "name": "asm-avr",
   "language": "AVR assembly",
   "platform": "ATmega, ATtiny",
   "class": "Core-S"
  },
  {
   "name": "asm-xtensa",
   "language": "Xtensa assembly",
   "platform": "ESP32 (original), ESP8266",
   "class": "Core-S"
  },
  {
   "name": "elixir",
   "language": "Elixir / Erlang",
   "platform": "Nerves devices, telecom",
   "class": "Core-M"
  },
  {
   "name": "docker-sidecar",
   "language": "Container (heartd)",
   "platform": "Kubernetes, Docker",
   "class": "Core-L",
   "why": "Run heartd beside any service with no code change."
  },
  {
   "name": "mqtt-device",
   "language": "C + MQTT 5",
   "platform": "Devices that already speak MQTT",
   "class": "Core-S",
   "why": "Needs the signed-command rules of Advisory C5."
  }
 ]
}
