Good day, xoders! Version 0.16.0 is here.
Since now we have an adequate way to publish and install community libraries! Many things were done by our brave developers to make it work and we’re happy with the result.
First, that means we could release some nodes faster than IDE releases, and what’s more important, you can share your nodes too. Hope you’d like it and XOD ecosystem will start to take off.
The release also brings improvements in:
- Selecting and manipulating multiple nodes. Notably, rectangular selection marquee is here
- Crafting C++ nodes. We added an embedded code editor
- Working with hardware. I²C displays, DHT21/DHT22 thermometers, DS1307 clock are supported out of the box
- Working with math and bytes. Logarithms, waves, bitwise are here.
The full changelog is below.
Release notes
Features and enhancements
- [ide] Add a feature to install libraries right from IDE. Hit “File → Add Library”, enter a name as seen at https://xod.io/libs/, and you’re ready to use new nodes.
- [ide] Add a feature to publish your project as a library. Hit “File → Publish Library” and you’re done. See your library at https://xod.io/libs/. Others can immediately install it for themselves.
- [ide] Add account pane to login/logout from within IDE. Hit “View → Toggle Account Pane” to access it. Login is required to publish a library.
- [ide] Embed C++ editor for low-level nodes. Double-click a
not-implemented-in-xod
node to open and edit the code. - [ide] Click and drag for bulk selection with a marquee. Move, copy, paste, delete faster. Drag from left to right to select only items completely covered by the rectangle, drag from right to left to also include intersected entities. Hold Ctrl (⌘ on macOS) key to add/remove items from the selection.
- [ide] Tweak paste behavior so that the entities are inserted to the left of the current selection, not at the origin. That means you can Ctrl+C and then Ctrl+V multiple times to build a row of similar nodes very quickly.
- [ide] Track changes in patches and save project incrementally. That means faster saves, removing deleted patches’ files, and keeping files not related to XOD intact.
- [ide] “Save Project” is generalized to “Save All.” Libraries, if they have changed are saved too, and effectively create a fork automatically.
- [ide] Allow resizing of the project browser and inspector panes. Drag a handle between them to adjust the height proportion.
- [ide] Automatically adjust panning position when opening a patch so that the patch aligns with the top left corner.
- [ide] Inserted comments are a bit wider by default.
- [core] BREAKING node C++ implementations are now read from files named
patch.cpp
. Formerany.cpp
andarduino.cpp
are ignored. A patch must includenot-implemented-in-xod
node to take it’s C++ implementation into account. - [core] BREAKING untitled pins changed numbering scheme. Instead of
IN_0, IN_1, IN_2, ...
andOUT_0, OUT_1, OUT_2, ...
, now they areIN1, IN2, IN3, ...
andOUT1, OUT2, OUT3, ...
. - [core]
*.xod*
files are now terminated with newline symbol on save. It makes them a bit friendlier for manual editing. - [cli]
xodc install
now installs all transient library dependencies automatically.
New nodes
xod/bits/bcd-to-dec
xod/bits/bitwise-and
xod/bits/bitwise-not
xod/bits/bitwise-or
xod/bits/bitwise-xor
xod/bits/dec-to-bcd
xod/bits/shift-left
xod/bits/shift-right
xod/common-hardware/dht2x-pack
xod/common-hardware/dht2x-thermometer
xod/common-hardware/dhtxx-read-raw
xod/common-hardware/ds1307-rtc-read
xod/common-hardware/ds1307-rtc-write
xod/common-hardware/sd-log
xod/common-hardware/text-lcd-16x2-i2c
xod/core/duty-to-time
xod/core/flip-n-times
xod/core/log-10
xod/core/log-bx
xod/core/log-e
xod/core/modulo
xod/core/saw-wave
xod/core/saw-wave-map
xod/core/sine-wave
xod/core/sine-wave-map
xod/core/square-wave
xod/core/time-to-duty
xod/core/timer
xod/core/tri-wave
xod/core/tri-wave-map
Bug fixes
- [core] Fix upload to Arduino Mega 2560 boards when compiling locally.
- [core] Fix yet more bugs related to invalid initial values after transpile.
- [ide] Fix possible single slot offset when placing nodes with a double-click.
How to update
- For Windows and macOS: accept the upgrade right within IDE
- …or just open the browser-based XOD IDE
- …or download a desktop XOD IDE distributive