Breaking: FirmataMessage gains .memoryRead and .memoryInfo, so exhaustive switches over it stop compiling. New live raw-memory API: queryMemoryInfo() returns a MemoryInfo (heap free/total/low-water plus the chip's DRAM window), readMemory(at:count:) and writeMemory(at:bytes:) work on raw addresses, capped at FirmataClient.memoryChunkLimit (224) bytes per request. Reads are range-checked on the device and refused rather than executed, so browsing arbitrary addresses is safe; writes land in live RAM and can crash the board. Requires firmware 2.27.