Skip to content
Version 1.12-1.0.0

Changes:
* A new system call, `freeRAM`, has been added to the `computer` module.
  This returns the amount of free memory, in bytes, accounting for the
  size of the module code, the size of the linear memory, and the
  current runtime stack and local variable usage. Thanks to DCNick3 for
  this addition.

Fixes:
* Free memory used to be accounted incorrectly when performing a linear
  memory resize. This would potentially allow a module to declare a
  linear memory with a small initial size but a large maximum size, then
  grow the linear memory up to the size of RAM installed in the computer
  at runtime, while still leaving space free for the runtime stack and
  local variables. Growing linear memory now correctly subtracts from
  the amount available for the stack and locals. Thanks to DCNick3 for
  this fix.
* Calling the `methodsNext` syscall no longer crashes if
  `methodsStartComponent` or `methodsStartValue` was previously called
  on a component or opaque value that has no methods. Thanks to Buzzec
  for this fix.