Native methods (such as pin.write) can now be bound to their objects in order to form a free function: this can be useful for optimising tight loops as it reduces the number of lookups in the global table. For technical (object-lifetime) reasons you can't bind to lazily-generated objects such as hardware.pin5 directly – hardware.pin5 must be assigned to another object first: chipSelect ← hardware.pin5; csWriter ← chipSelect.write.bindenv(chipSelect);
To allow for more precise timing, the standard Squirrel date() function has been extended to return a “usec” field containing the fractional part of the current second, in microseconds – plus, for ease of calculation, a “time” field containing the Unix time (seconds since 1970-01-01) as an integer.