https://toitlang.org/ logo
This is a big one. I kept the release notes on Git...
# general
f
This is a big one. I kept the release notes on GitHub short (as they are used on toitlang.org) but there are lots of changes. The biggest one: hardware now takes the pin-number and not a gpio.Pin anymore. Old:
Copy code
sda := gpio.Pin 32
scl := gpio.Pin 33
...
bus := i2c.Bus --sda=sda --scl=scl ...
This lead to complications like: - what if a user closes the pin while the bus is still used? - what if they
sda.set
? ... Now we just use the pin-number:
Copy code
sda := 32
scl := 33
...
bus := i2c.Bus --sda=sda --scl=scl
For some time we will still accept
gpio.Pin
objects, but you will (if statically visible) get a warning that this approach is deprecated. Other changes: - the package manager has been rewritten in Toit. (With a big thanks to @mikkel.damsgaard who started the effort). As a consequence we could drop Go as a build-time dependency. - a few uart fixes. For example, avoid some flushes when we send a lot of data. - we now have
Port.console
in
uart
which allows to read from the "main" uart (think stdin). Might still need some improvements for c3 and other devices that use a built-in uart-usb. - revived homebrew. https://github.com/toitlang/homebrew-toit - the new package manager has some new features, like collecting all transitive dependencies and making sure that none of them is requiring to release your own sources. Given the amount of changes, there can, of course, be new bugs. Please report if you see something that doesn't work. (Especially on non-Linux platforms!)