Releases: xodio/xod
Releases · xodio/xod
0.35.0
Features and enhancements
- [core] Introduce constant types and new C++ implementation syntax. (#2007)
- [core] Make color-type outputs bindable (#2011)
- [ide] Add ability to clone a patch from library to a local project (#1999, #2003)
- [nodes] Make
pulse-on-*
nodes behave consistently and not trigger on start (#2002) - [core] Upgrade bundled arduino-cli to v0.12.0. Thanks, @quinkennedy! (#1986, #2012, #2029)
- [core] Use upstream ESP8266 package index instead of being locked to v2.4.3 (#2026)
- [core] Improved resolution of abstract nodes to allow specializations without the type suffix for types defined in the same library (#2004)
- [nodes] Unify interfaces of nodes in
xod-dev/esp8266
,xod-dev/esp8266-mcu
,xod-dev/w5500
andxod/debug
to use abstract nodes fromxod/net
(#2004)
Bug fixes
- [ide] Fix inconsistent behaviour of "Follow Log" feature in Debugger pane (#2027)
- [nodes] Fix compiling of
xod-dev/ws2812
on ESP8266 (#1994) - [core] Fix an uncaught exception when transpiling a patch with a “dangling” defer node (#1995)
- [c++] Fix forward declaration of HardwareSerial for megaAVR architecture (#2006)
- [core] Fix creating cast nodes for custom types (#2008, #2023, #2025)
- [nodes] Add missing dependency for xod-dev/pn532-nfc (#2024)
- [nodes] Fix
renderScanlinePart
behaviour inxod-dev/ssd1306-display
(#2022)
New nodes
- xod/waves — a collection of nodes that generate wave signals (#2000)
- xod-cloud/basics — library that has nodes to get a DateTime and external IP (#1998)
- Add
parse-u32
andparse-number
nodes to xod/stream library (#1998) - Add
from-posix
andto-posix
nodes to xod/datetime library (#1998) - Add
cloud-string
,cloud-number
andcloud-boolean
nodes to xod-cloud/feeds library (#1998)
0.34.0
Features and enhancements
- [ide] Introduce tethering internet to provide internet to device/simulation via PC (#1979, #1985)
Bug fixes
- [ide] Fix positioning of the ColorPicker widget when Inspector is docked to right (#1971)
- [ide] Fix scrolling of Project Browser and Inspector when they are the only section in a sidebar (#1972)
- [ide] Fix typos in the built-in tutorial. Thanks, @bartek-w! (#1990, #1991)
New nodes
- xod/graphics — a library to create graphics and graphic interfaces. Check out https://xod.io/docs/guide/#xod-graphics for details (#1988)
- xod-dev/st7735-display — support of ST7735 based TFT displays (#1988)
- xod-dev/ssd1306-display — support of SSD1306 based monochrome I2C displays (#1988)
0.33.0
Features and enhancements
- [ide] Extended support for the
color
type: a value can be entered as hex literal (like#FACE8D
) or selected using a color picker widget (#1926, #1953) - [c++] Move the
XColor
type definition fromxod/color/color
to the globalxod
scope (#1928) - [core] Optimize the size of generated C++ code (#1925, #1943)
Bug fixes
- [ide] Properly stop the running simulation session when opening a new project (#1924)
- [core] Fix a case when using bus nodes along with generic pins could break type casting (#1958)
- [nodes] Fix
xod/core/throttle
node that was ignoring incoming values at program starup (#1963)
New nodes
- xod/debug/tweak-color — Node for tweaking color values during debug or simulation sessions (#1942)
- xod-dev/ws2812 — Nodes to work with WS2812, also known as NeoPixel (#1931, #1937)
- xod/core/pulse-on-change(byte) — a specialization of
xod/core/pulse-on-change
for thebyte
type. Thanks, @Cesar-S! (#1939)
0.32.1
Bug fixes
- [ide] Fix crash on sending tweak pulses (#1914)
- [core] Fix implementation of placement new operator for cores that do not provide their own (#1915)
New nodes
- [xod/core/equal(boolean)](https://xod.io/libs/xod/core/equal(boolean\)/) (#1916)
0.32.0
Features and enhancements
- [ide] Add search for libraries within XOD IDE (#1909)
- [ide] Derive project name from the saved filename in desktop IDE (#1904)
- [core] Add
=XOD_USERNAME
literal to use a XOD username in various places and assist easy sharing of the project (#1888) - [core] Add
=XOD_PROJECT
literal to use the current project name. For example, as a part of the feed path (#1889) - [core] Add
=XOD_TOKEN
literal which is required to authorize with XOD Cloud services (#1900)
Bug fixes
- [core] Buses with a generic type are resolving and transpiling properly now (#1905)
- [core] Compilation no longer fails on Windows if PC username contains spaces (#1906)
- [nodes] Make the program with tweak-string nodes compile for ESP8266 boards (#1902)
- [nodes] Fix
xod/i2c/read-byte
node error raising on reading0x00
value (#1910)
New nodes
- xod-cloud/feeds — a library for communicating with XOD Cloud Feeds
0.31.1
Bug fixes
- [core] Fix a bug that caused compilation error if a defer node was used in a feedback loop without an upstream error raiser (#1871)
- [core] Fix updating of package indexes and bundle the latest one (#1869)
- [nodes] Fix quickstart node for 20x4 I2C text LCD in
xod-dev/text-lcd
library (#1875) - [nodes] Fix wrong types in
xod-dev/dht
library (#1877) - [core] Fix errors not propagating through defer nodes in some edge cases (#1873)
- [nodes] Fix debounce time in
xod/common-hardware/button
(#1880)
0.31.0
Features and enhancements
- [core] Do not store node id for error raisers and save 2 bytes of RAM for each error raiser node. (#1841)
- [core] Optimize transaction state keeping. Single bit flags now share common bytes which leads to overall RAM usage decrease. (#1850)
- [core] Make port type castable to string type (#1857)
- [core] Wrap tabtests code into sections. When they fail it is easier to find the line causing the error. (#1860)
- [core] Change error clear conditions. Pulses no longer lose error state at the end of the transaction but stay in error until node re-evaluation. (#1858)
- [nodes] BREAKING ❗ Replace
UPD
inputs pins on idempotent actuator nodes with theACT
input pin: xod-dev/pn532-nfc/nfc-scanner, xod-dev/servo/servo, xod/common-hardware/h-bridge-dc-motor, xod/common-hardware/led. (#1842) - [ide] Highlight a few more core functions in C++ editor (#1859)
New nodes
- xod/core/act (#1835)
- xod/core/overrun (#1835)
- [xod/core/pulse-on-change(boolean)](https://xod.io/libs/xod/core/pulse-on-change(boolean\)/) (#1835)
- xod/core/wait-all (#1835)
- xod/core/wait-all-once (#1835)
- xod/debug/stream-string (#1838)
- xod/json — a library to parse a JSON and extract values from it. (#1838)
- xod/net/http-get-json — makes an HTTP GET request and parses the response as JSON. (#1840)
- xod/net/http-response-body — skips the response headers and passes only the body. (#1840)
- xod/gpio/digital-read-pullup (#1846)
- xod/common-hardware/relay (#1847)
- xod/common-hardware/pwm-load (#1847)
- xod/common-hardware/binary-sensor (#1847)
- xod/common-hardware/mechanical-switch (#1847)
- xod/core/throttle (#1849)
- xod/units/standard-sound-speed (#1851)
- xod-dev/text-lcd — a library to work with the common text LCD with parallel or I²C interfaces. (#1851)
- xod-dev/hc-sr04 — a library to work with the HC-SR04 ultrasonic range meter module. (#1851)
- xod-dev/dht — a library to work with the hygrometer modules: DHT11, DHT21 or compatible. (#1853)
- xod-dev/st-mems — a library to work with the MEMS by STMicroelectronics. It includes IMUs and barometer. (#1855)
- xod/core/spread-error (#1855)
- [xod/core/debounce(number)](https://xod.io/libs/xod/core/debounce(number\)/) (#1856)
Bug fixes
- [core] Fix tabtest runner exit code to avoid ignoring of the failed tests. (#1839)
- [core] Fix package.json files of some xod packages to publish the latest versions to the NPM. (#1845)
Deprecations and removals
- Deprecate
xod/common-hardware/hc-sr04-*
nodes in favour of the newxod-dev/hc-sr04
library (#1851) - Deprecate
xod/common-hardware/dht11-*
andxod/common-hardware/dht2x-*
nodes in favour of the newxod-dev/dht
library (#1853) - Deprecate
xod/common-hardware/text-lcd-16x2
andxod/common-hardware/text-lcd-16x2-i2c
nodes in favour of the newxod-dev/text-lcd
library (#1835) - Deprecate nodes in the
xod/common-hardware
library which works with STM IMU sensors and barometer in favour of the new ones fromxod-dev/st-mems
library (#1855)
0.30.1
0.30.0
Features and enhancements
- [core] The errors mechanism. (#1777, #1784, #1818)
- [ide] Errors are visualized in XOD IDE during the simulation and debug. (#1797)
- [ide] Cancel the restriction of deleting terminals in use. Now, this is allowed and will cause the patches which use the terminal to become broken which is quickly fixable by undoing the deletion or removing the offending links. (#1809)
- [ide] Upgrade the underlying UI Electron platform from 1.8 to 4.2 which makes IDE a bit more responsive and brings Gtk3 on Linux. (#1811)
- [ide] Link to amperka.com on the welcome banner. Should we have some profit after all! (#1820)
- [nodes] The
ERR
pulses gone from the standard library in favor of using the errors. (#1808) - [nodes]
xod/core/if-else
is now truly generic and works with any types. (#1767) - [nodes]
xod/core/pulse-on-change
is now an abstract generic and have implementation for numbers and strings. (#1806) - [nodes] Make servo pulse limit defaults in
xod-dev/servo
match Arduino defaults. (#1815)
New nodes
- xod/core/switch-case — a generic discrete variant mapper. (#1785)
- xod-dev/esp8266-mcu/is-connected — check whether you’re online (#1786)
error
,has-error
,pulse-on-error
,if-error
inxod/core
to support the new error concept. (#1777)
Bug fixes
- [ide] Show that patches are broken even if they are hidden by the deprecated/utility filter. (#1813)
- [ide] Opening not-a-xod file no longer breaks workspace creation. (#1812)
- [ide] Exclude the whole BuckleScript platform from bundling into the distro. Makes XOD IDE ⅓ smaller in size. (#1814)
- [ide] Fix nested tweaks updates ignore/collide during debugging and simulation. (#1821)
- [ide] Respect
serial.disableRTS
option from platform’sboards.txt
when opening the serial port for debugging. Previously it broke debugging for Arduino Leonardo, Micro, ATmega32U4 on Windows. (#1816)
Deprecations and removals
- Remove all nodes deprecated back in 0.19, 0.20, and 0.21. (#1799)
0.29.1
Bug fixes
- [nodes] Fixed compatibility of
xod-dev/servo/servo-device
andxod/core/animation-unit
with ESP8266 and some other platforms (#1759) - [nodes] Prevent race condition on initialisation of
lis331dlh-accelerometer
,lis331hh-accelerometer
andlis3dh-accelerometer
(#1761) - [nodes] Added missing descriptions to
xod-dev/servo
,xod/mutex
,xod/net
andxod/stream
libraries (#1760)