XOD 0.16.0 released

Good day, xoders! Version 0.16.0 is here.

Since now we have an adequate way to publish and install community libraries! :books: 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 :exclamation: node C++ implementations are now read from files named patch.cpp. Former any.cpp and arduino.cpp are ignored. A patch must include not-implemented-in-xod node to take it’s C++ implementation into account.
  • [core] BREAKING :exclamation: untitled pins changed numbering scheme. Instead of IN_0, IN_1, IN_2, ... and OUT_0, OUT_1, OUT_2, ..., now they are IN1, IN2, IN3, ... and OUT1, 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

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

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.