<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[XODlang - Medium]]></title>
        <description><![CDATA[XOD visual programming language use cases and projects - Medium]]></description>
        <link>https://medium.com/xodlang?source=rss----affe4bd11ae4---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>XODlang - Medium</title>
            <link>https://medium.com/xodlang?source=rss----affe4bd11ae4---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 08 Apr 2026 13:18:18 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/xodlang" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[XOD 0.37.0: Small Features and Big Underlying Update]]></title>
            <link>https://medium.com/xodlang/xod-0-37-0-small-features-and-big-underlying-update-d5699cc60299?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/d5699cc60299</guid>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[arduino]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Mon, 18 Jan 2021 15:14:45 GMT</pubDate>
            <atom:updated>2021-01-18T15:14:45.012Z</atom:updated>
            <content:encoded><![CDATA[<p>Hello! The new 0.37.0 version of the XOD visual programming language is out. It does not contain any new significant features but instead tweaks and fixes many small annoying UI flaws. Here’s some of them:</p><ul><li>The bottom deployment pane is resizable now to see more/less output</li><li>The output text in the deployment pane now might be copied or saved to a file with a single click</li><li>When creating a link, you can press T, C, W to quickly place a Terminal, Constant, Tweak, or a Watch right under the cursor</li><li>Press Ctrl+U for Upload</li><li>Bus nodes are now more painless to point with the cursor</li></ul><h3>Under the hood</h3><p>XOD devs finally managed to update the underlying platforms to get along with the time. In particular, Electron is updated to v10 and NodeJS to v12. Although this update is hardly noticeable, it is required to go on with further development. In any case, the update brings more performance and security.</p><p>As usual, the release includes other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.36.0?utm_source=release&amp;utm_campaign=0_37_0&amp;utm_medium=medium">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_37_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_37_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, click the update message when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d5699cc60299" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-37-0-small-features-and-big-underlying-update-d5699cc60299">XOD 0.37.0: Small Features and Big Underlying Update</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.36.0: Records and JSON Serialization]]></title>
            <link>https://medium.com/xodlang/xod-0-36-0-records-and-json-serialization-abe169848e53?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/abe169848e53</guid>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[iot]]></category>
            <category><![CDATA[arduino]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Thu, 29 Oct 2020 15:44:16 GMT</pubDate>
            <atom:updated>2020-10-29T15:44:16.033Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Zas7sUGuCE7ZPvVSSaJK5w.png" /></figure><p>Hi, there! Today we release the new 0.36.0 version of the XOD visual programming language. The main topic of the update is Records. Sure, you know the basic data types used in XOD: numbers, booleans, pulses, strings. Many things are too complicated to be expressed in terms of a single basic value. But any such complicated thing might be decomposed into simpler things, and so on, and so on, until the basic values. XOD Records is the feature to combine the simpler types to form a new type.</p><p>It was possible earlier, actually, but you have had to dive into C++ to define such a type. Version 0.36.0 introduces a xod/patch-nodes/record marker node to group all the input values into a new supertype. Once you place this marker, a few more patches are generated to work with the new type.</p><p>What makes the records more interesting is the automatic generation of its JSON serializer. Now you can build complex nested JSON’s to interact with various web APIs easily.</p><p>Learn records in detail with the new guide article:</p><ul><li><a href="https://xod.io/docs/guide/records/?utm_source=release&amp;utm_campaign=0_36_0&amp;utm_medium=medium">Creating Records</a></li></ul><p>As usual, the release includes other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.36.0?utm_source=release&amp;utm_campaign=0_36_0&amp;utm_medium=medium">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_36_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_36_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, click the update message when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=abe169848e53" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-36-0-records-and-json-serialization-abe169848e53">XOD 0.36.0: Records and JSON Serialization</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.35.0: C++ Optimizations, API Improvements, Wider Compatibility]]></title>
            <link>https://medium.com/xodlang/xod-0-35-0-c-optimizations-api-improvements-wider-compatibility-4fab49e948cc?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/4fab49e948cc</guid>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Tue, 08 Sep 2020 15:23:16 GMT</pubDate>
            <atom:updated>2020-09-08T15:22:48.028Z</atom:updated>
            <content:encoded><![CDATA[<p>Hello, folks! Today I announce 0.35.0 release of the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">XOD visual programming language</a>. This time XOD devs focused on improving quality rather than introducing sugar features.</p><h3>C++ syntax simplification</h3><p>Those who tried to <a href="https://xod.io/docs/guide/nodes-for-xod-in-cpp/?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">make own C++ node</a> know that the code looks weird a bit at the first look. Yes, it’s C++ but with some foreign quirks like {{ GENERATED_CODE }}, strange rules to #include other libraries, etc.</p><p>We wanted to remove all that non-standard stuff completely with this update. But the reality of many-many-many edge cases did not allow to do so. We have to keep a few deviations. Nevertheless, we are sure that the new API/syntax is much more intuitive, welcoming, and simple to start with.</p><p>You can find the complete list of differences in the new guide article <a href="https://xod.io/docs/guide/migrating-to-v035/?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">Migrating C++ nodes to v0.35</a>. And just to get an idea how it affects the code, here’s an example.</p><p>Before:</p><pre>{{#global}}<br>#include &lt;LiquidCrystal_I2C.h&gt;<br>{{/global}}</pre><pre>struct State {<br>    uint8_t mem[sizeof(LCD)];<br>    LCD* lcd;<br>};</pre><pre>{{ GENERATED_CODE }}</pre><pre>void evaluate(Context ctx) {<br>    State* state = getState(ctx);<br>    if (isSettingUp()) {<br>        state-&gt;lcd =<br>            new (state-&gt;mem) LCD(getValue&lt;input_ADDR&gt;(ctx));<br>    }</pre><pre>    state-&gt;lcd-&gt;printLine(&quot;Hello&quot;);<br>    state-&gt;lcd-&gt;printLine(&quot;World&quot;);<br>}</pre><p>After:</p><pre>#include &lt;LiquidCrystal_I2C.h&gt;</pre><pre>node {<br>    LCD lcd = LCD(const_input_ADDR);</pre><pre>    void evaluate(Context ctx) {<br>        lcd.printLine(&quot;Hello&quot;);<br>        lcd.printLine(&quot;World&quot;);<br>    }<br>};</pre><p>Don’t worry if you rely on some C++ code in the previous API. It still works as is.</p><h3>Port type is read-only now</h3><p>Oh, this was a hard part. A massive rework of the program transpiler allowed XOD to have constant types. The value of a constant is set once during the program creation and can never change then. For now, the only constant type is Port, the one used to define pins through which a module is connected to the board. “And what’s the point?” — you might ask — “How this is better than a regular type?”</p><p>First, the value of such type is known at compile time. That means that XOD can fail the compilation with a clear error message if you set an incorrect port for a module instead of failing to do anything at runtime.</p><p>Second, it opens the doors for program optimization because many upstream nodes no longer raise runtime errors (no need to consume memory for error management). There’s no need to keep duplicate port values across an external library and the program storage. Dead code elimination might be more efficient. Etc, etc.</p><p>Third, we haven’t done it yet, but there could be other constant types like “buffer size”. The constant values are accessible at the compile-time and so might be used, for example, to allocate memory for an array statically and safely without touching the new operator.</p><h3>arduino-cli compatibility updated</h3><p>As you possibly know, XOD uses the <a href="https://github.com/arduino/arduino-cli">arduino-cli</a> tool to manage hardware packages, perform uploads, and interact with the boards in other ways. The used version is updated to 0.12 (latest at the moment), which brings compatibility with many new Arduino-boards to XOD. For example, XOD is now compatible with Arduino Nano Every and ESP32 out of the box.</p><p>As usual, the release includes other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.35.0?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_35_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, click the update message when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4fab49e948cc" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-35-0-c-optimizations-api-improvements-wider-compatibility-4fab49e948cc">XOD 0.35.0: C++ Optimizations, API Improvements, Wider Compatibility</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.34.0: Fake Internet and Real Graphics]]></title>
            <link>https://medium.com/xodlang/xod-0-34-0-fake-internet-and-real-graphics-2d3b51a21894?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/2d3b51a21894</guid>
            <category><![CDATA[graphics]]></category>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[iot]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Thu, 28 May 2020 15:07:56 GMT</pubDate>
            <atom:updated>2020-05-28T15:11:00.136Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5_Dt5ZzpbkGTB3Osho9ntQ.jpeg" /></figure><p>Hi there! The pandemic affected the development process making it slower a little bit. Nevertheless, the new 0.34.0 version of the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">XOD visual programming language</a> is here. And it brings two major features: PC Internet tethering and support for graphic displays.</p><h3>Internet tethering</h3><p>I’m pretty sure you have used the feature of your mobile phone, which makes it a temporary Wi-Fi router for your laptop or buddy phone who ran out of the data limit. That feature is known as <em>tethering</em>.</p><p>XOD devs have made the similar feature but for devices. Your <em>PC</em> running XOD IDE now can share its internet access with a dumb board with no network connectivity features. Even if you got only good old Arduino Nano, you can start making an IoT-enabled device, test it, polish, and only after that buy a board that supports Internet connection natively to make the device truly autonomous.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*ZadJxpZJS4lEZkdm.png" /><figcaption>Arduino Nano logs temperature to the cloud</figcaption></figure><p>Behind the scenes, the board keeps a UART connection with the computer running XOD IDE, thinking it talks to an ESP8266 AT-modem. XOD IDE emulates the modem protocol and performs WAN communication on behalf of the connected board.</p><p>The internet tethering feature works in the simulation mode as well. That is, you can try to start using internet services, such as XOD Cloud Feeds, without real hardware at all.</p><p>To get started with Internet tethering, read the new guide article:</p><ul><li><a href="https://xod.io/docs/guide/tethering-inet/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">Sharing Internet from PC</a></li></ul><h3>Graphics</h3><p>Another big thing of 0.34.0 is the support for graphics and graphic LCDs. This is a long-awaited functionality that we introduce only now because the graphics is tricky, especially on microcontrollers with poor resources, especially in the data-flow paradigm employed by XOD.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/220/0*Eo8CszuzCuXGulGq.gif" /></figure><p>One of the main problems is RAM consumption. Many existing Arduino libraries take a straightforward approach and keep the whole image buffer in the dynamic memory. The size of the buffer depends on the size of the image and can be as large as several megabytes that is way too large to fit in many microcontrollers’ RAM. We wanted a smarter way. Let it be a bit slower, but save the precious memory.</p><p>Finally, after a series of failures, our devs have found a way to clearly and efficiently express and render graphic primitives. The main idea is keeping scene objects declarative and generative. For example, a circle holds only its center and radius, not the whole buffer of its pixels. The pixels are only computed right at the moment when a scene needs to be rendered and sent to the display. Besides that these moments are short, even during the scene rasterization, the whole buffer is not allocated in RAM: the rendering happens line-by-line, right as old Atari game machines did. In the case of 128×160 pixel display, such architecture requires a buffer for 128 pixels, not 128×160=20480 pixels.</p><p>As a result, three new items were added to the set of the standard libraries:</p><ul><li><a href="https://xod.io/libs/xod/graphics/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">xod/graphics</a> — hardware-independent nodes to define a scene</li><li><a href="https://xod.io/libs/xod-dev/ssd1306-display/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">xod-dev/ssd1306-display</a> — nodes to render the scene on a popular 128×64 monochrome OLED</li><li><a href="https://xod.io/libs/xod-dev/st7735-display/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">xod-dev/st7735-display</a> — nodes to render the scene on color 160×128 displays backed by the ST7735 chip</li></ul><p>The libraries form a solid basis for further development: introducing new shapes, fonts, and LCD models.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*jzxSUbw35B7vNCZG.jpg" /><figcaption>ST7735 and SSD1306 showing images with XOD</figcaption></figure><p>Dive into details of XOD graphics rendering with new guide articles:</p><ul><li><a href="https://xod.io/docs/guide/graphics-library/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">Graphics Library</a></li><li><a href="https://xod.io/docs/guide/graphics-images/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">Loading Images</a></li><li><a href="https://xod.io/docs/guide/ssd1306-display/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">SSD1306 Displays</a></li><li><a href="https://xod.io/docs/guide/st7735-display/?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">ST7735 Displays</a></li></ul><p>As usual, the release includes other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.34.0?utm_source=release&amp;utm_campaign=0_34_0&amp;utm_medium=medium">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=medium.com&amp;utm_campaign=release-0_34_0&amp;utm_medium=post">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=medium.com&amp;utm_campaign=release-0_34_0&amp;utm_medium=post">directly in your browser</a>. If you have XOD installed already, click the update message when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2d3b51a21894" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-34-0-fake-internet-and-real-graphics-2d3b51a21894">XOD 0.34.0: Fake Internet and Real Graphics</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.33.0: Color the World]]></title>
            <link>https://medium.com/xodlang/xod-0-33-0-color-the-world-6aa6f0052040?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/6aa6f0052040</guid>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Tue, 18 Feb 2020 17:18:38 GMT</pubDate>
            <atom:updated>2020-02-18T17:17:56.426Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ulbTV8zfmgAALRGTc2vB_w.png" /></figure><p>Hey there! Today we’re proud to announce the new release of the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_33_0&amp;utm_medium=medium">XOD visual programming language</a>. As the title hints, the main feature here is an extended color support and features throughout the IDE.</p><p>First of all, you can now enter the color values as HEX literals (e.g., #FACE8D) and use a new color picker widget to select the hue. Check it out. It’s very neat!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/622/1*EaRjKAshrXERDTRiXF-juw.png" /><figcaption>Adjusting the hue via color picker widget in `output-color` node</figcaption></figure><p>Secondly, there are two new nodes to showcase those color capabilities. The <a href="https://xod.io/libs/xod/debug/tweak-color/?utm_source=release&amp;utm_campaign=0_33_0&amp;utm_medium=medium">tweak-color</a> node allows you to adjust color values in real-time during debug or simulation sessions. The <a href="https://xod.io/libs/xod-dev/ws2812/?utm_source=release&amp;utm_campaign=0_33_0&amp;utm_medium=medium">WS2812 library</a> contains multiple nodes to control the popular DIY-hardware with NeoPixel addressable RGB LEDs on board, allowing for some spectacular LED animations with a low memory footprint.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*i5NZM-8V7afIT_6v-lFRPQ.gif" /><figcaption>WS2812 LEDs with XOD at work</figcaption></figure><p>You’ll find a comprehensive guide on the WS2812 nodes in a new article published by our devs:</p><ul><li><a href="https://xod.io/docs/guide/ws2812-neopixel?utm_source=release&amp;utm_campaign=0_33_0&amp;utm_medium=medium">WS2812: Controlling NeoPixel RGB LEDs</a></li></ul><h3>Further optimization</h3><p>XOD continues to expand its scope, but we’re still focused on maintaining the higher code efficiency. In fact, we planned a huge revamp in that regard, but were ultimately forced to pull the changes due to the unforeseen problems in rare scenarios. Still, some new features were added to optimize the size of generated C++ code, and you’ll see even more of them in future updates!</p><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.33.0?utm_source=release&amp;utm_campaign=0_33_0&amp;utm_medium=medium">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=medium.com&amp;utm_campaign=release-0_33_0&amp;utm_medium=post">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=medium.com&amp;utm_campaign=release-0_33_0&amp;utm_medium=post">directly in your browser</a>. If you have XOD installed already, click the update message when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6aa6f0052040" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-33-0-color-the-world-6aa6f0052040">XOD 0.33.0: Color the World</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.32.0: Cloud Feeds]]></title>
            <link>https://medium.com/xodlang/xod-0-32-0-cloud-feeds-1e1a1d3f4bab?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/1e1a1d3f4bab</guid>
            <category><![CDATA[esp8266]]></category>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[iot]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Wed, 04 Dec 2019 14:50:20 GMT</pubDate>
            <atom:updated>2019-12-04T14:50:20.427Z</atom:updated>
            <content:encoded><![CDATA[<p>Hi folks! Today we release a new version of the <a href="https://xod.io/?utm_source=medium.com&amp;utm_campaign=release-0_32_0&amp;utm_medium=post">XOD visual programming language</a> for microcontrollers.</p><p>The main feature is interfacing with so-called XOD Cloud Feeds. What is it? It’s a feature that allows your devices to store data from sensors or logging events to the Internet. For example, you can track how temperature changes and when a window was being open and closed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*JTG2-OT0tnQ95cSk.png" /><figcaption>Using the `cloud-store` node to store thermometer measurements</figcaption></figure><p>The data is arranged in <em>feeds</em>, which are something average between a log and table. The feeds belong to you. You are free to discover the history of records, apply date filters, and see the changes plotted as charts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*wUZOcX_EVu3CWXno.png" /><figcaption>Example feed chart</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*ZCu6cDUfBYCgD7EYsXtTYg.png" /><figcaption>Example feed data</figcaption></figure><p>To get started with the feeds quickly, a couple of articles were written by XOD developers:</p><ul><li><a href="https://xod.io/docs/guide/getting-started-with-feeds/?utm_source=medium.com&amp;utm_campaign=release-0_32_0&amp;utm_medium=post">Getting Started with Feeds</a></li><li><a href="https://xod.io/docs/guide/multiple-time-series/?utm_source=medium.com&amp;utm_campaign=release-0_32_0&amp;utm_medium=post">Multiple Time Series</a></li></ul><p>Features to <em>fetch</em> data from the feeds, as well as integrating with them via a generic API are coming soon.</p><p>For the time XOD Cloud Feeds are being tested, we place no restrictions on their usage volume.</p><h3>Library search in IDE</h3><p>Previously, when you hit “Add library” in XOD IDE, you were being forced to enter the exact name of a library you want to install. This is OK when you know what library solves your problem. However, it makes things more complicated than necessary when, for example, you know what hardware you want to drive but don’t know are there any libraries for that.</p><p>Now you can enter a query in the suggestion box and get the same library listing as you would get on <a href="https://xod.io/libs/">https://xod.io/libs/</a> but right inside XOD IDE:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*mkPSnl-x1ak2cpsHGr9Bdw.png" /></figure><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.32.0">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=medium.com&amp;utm_campaign=release-0_32_0&amp;utm_medium=post">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=medium.com&amp;utm_campaign=release-0_32_0&amp;utm_medium=post">directly in your browser</a>. If you have XOD installed already, accept the upgrade offer when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1e1a1d3f4bab" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-32-0-cloud-feeds-1e1a1d3f4bab">XOD 0.32.0: Cloud Feeds</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.31.0: Standard Library Improvements]]></title>
            <link>https://medium.com/xodlang/xod-0-31-0-standard-library-improvements-8e00c2f3a45b?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/8e00c2f3a45b</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[json]]></category>
            <category><![CDATA[arduino]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Tue, 01 Oct 2019 15:38:40 GMT</pubDate>
            <atom:updated>2019-10-01T15:38:39.997Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Epp8GaC9l9zMFTU1IG7GWw.png" /></figure><p>Hi there! It was a long time since the last <a href="https://xod.io/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">XOD visual programming language</a> release but finally, the new 0.31.0 version is here. It brings a few vectors of improvement.</p><h3>UPD is now ACT</h3><p>Skilled xoders know the standard pattern when nodes actually communicate to hardware on an UPD pin pulse. The UPD pin is by default set to “Loop” so that a piece of hardware continuously reflects the data coming on other value pins.</p><p>It works fine until you get a module that updates sloooowly. Take an I²C LCD as an example: the full update takes up to 50 ms. Updating such display over an over again even when the text stays intact (most of the time) comes to be entirely pointless. Moreover, that means the program has no chance to react to other things faster than once per 50 ms. Put several slow nodes in a single program, and it quickly becomes unresponsive.</p><p>To address the problem, if a node represents an actuator which reflects input data 1-to-1 on its own state, it now exposes a <em>boolean</em> ACT pin instead of the old pulse UPD pin. As long as ACT is true the hardware follows input value changes and updates precisely at the moments when it is necessary.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*0u3bz1Pg9StPZLv9JNjkzA.png" /><figcaption>Old UPD vs new ACT</figcaption></figure><p>The new pattern also honors partial updates. For example, if only the text for line #2 has changed, only it will be redrawn. Line #1 will stay intact, saving the precious milliseconds for other good things.</p><p>The new pattern is based on a new node, which is unsurprisingly called <a href="https://xod.io/libs/xod/core/act/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">act</a>. Its usage is straightforward and you can apply the same principle to <a href="https://xod.io/docs/guide/nodes-for-xod-in-xod/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">own hardware nodes</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*JfMxxYVRUzGx_uZz35FDsA.png" /><figcaption>`act` usage example to convert the `ACT` boolean to `UPD` pulse on data change</figcaption></figure><h3>xod/common-hardware cleanup</h3><p>Do you have a simple LED? A button? Sure, yes. Do you have a LIS331DH accelerometer? Probably no. But such things co-existed in a single library xod/common-hardware which seamlessly became a pile of random hardware nodes.</p><p>We found some common groups of nodes and moved them to various dedicated libs under xod-dev:</p><ul><li>HC-SR04 ultrasonic sensor nodes now live in <a href="https://xod.io/libs/xod-dev/hc-sr04/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">xod-dev/hc-sr04</a></li><li>IMU and MEMS STMicroelectronic chip drivers live in <a href="https://xod.io/libs/xod-dev/st-mems/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">xod-dev/st-mems</a></li><li>DHT11, DHT21, and other DHTs are now read with nodes under <a href="https://xod.io/libs/xod-dev/dht/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">xod-dev/dht</a></li></ul><p>The original <a href="https://xod.io/libs/xod/common-hardware/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">xod/common-hardware</a> became much leaner. We fixed it by adding a bunch of general-purpose hardware nodes :)</p><ul><li>relay — drive a mechanical relay</li><li>pwm-load — drive a dimmable load or a PWM-compatible solid state relay, MOSFET transistor, or similar</li><li>binary-sensor — read a sensor which outputs a stable 0 or 1</li><li>mechanical-switch — read something like a reed switch or a float</li></ul><h3>JSON</h3><p>JSON is arguably the most widespread format for communication with HTTP APIs. Previously the possibilities of parsing a JSON response to extract the necessary data were quite limited in XOD.</p><p>Our brave developers accepted the challenge and since now XOD offers a full-fledged <a href="https://xod.io/libs/xod/json/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">xod/json</a> library.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*OVVY9gyncW0vPRSQ.png" /><figcaption>JSON parsing in XOD</figcaption></figure><p>The most interesting aspect of the library is that it is very memory-efficient. The whole JSON data never stored in RAM completely: the necessary portions are extracted on fly, as raw characters go in.</p><p>To get a quick idea of how to parse a JSON-formatted string, see the new guide article:</p><ul><li><a href="https://xod.io/docs/guide/reading-json-data/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">Reading JSON data</a></li></ul><h3>Throttle node</h3><p>Making some real-world applications XOD devs come to a necessity of additional nodes in the standard library.</p><p>For example, the <a href="https://xod.io/libs/xod/core/throttle/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">throttle</a> node. Throttling is a mechanism often found in programming to limit the number of changes or requests. Now, a xoder can easily limit the frequency of sensor readings regardless of the incoming request rate by placing such node in-between.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*83HwXtMDET_pMo94uCmBEA.png" /><figcaption>Throttle node limits the rate of a capricious DHT sensor reading</figcaption></figure><h3>Errors</h3><p>After testing the new error mechanism introduced in 0.30.0 against more real-world cases, it became apparent that it contains some flaws. For example, the decision to remove all errors on pulse links at the end of a transaction was too premature.</p><p>Now, the behavior is more consistent. Pulses lose errors only when the nodes which raised them are re-evaluated. Also, we have fixed a few edge-cases and adjusted defer’s behavior when dealing with errors.</p><h3>Memory optimization</h3><p>With yet one pass of generated code re-organization, moving, and data packing, we get another RAM consumption saving. It highly depends on the program being compiled but in some cases gives 2.5× improvement when compared to the previous version.</p><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.31.0">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=medium.com&amp;utm_campaign=release-0_31_0&amp;utm_medium=post">directly in your browser</a>. If you have XOD installed already, accept the upgrade offer when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8e00c2f3a45b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-31-0-standard-library-improvements-8e00c2f3a45b">XOD 0.31.0: Standard Library Improvements</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.30.0: Errors]]></title>
            <link>https://medium.com/xodlang/xod-0-30-0-errors-16b08d363436?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/16b08d363436</guid>
            <category><![CDATA[stem]]></category>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Wed, 17 Jul 2019 15:06:56 GMT</pubDate>
            <atom:updated>2019-07-17T15:06:56.410Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KD9kOuQJjOk0qkv79AfwLw.png" /></figure><p>All we’ve made since the last release was an error. Maybe, some functional programmers would say we did nothing… 🤣 OK, that’s my arguable humor🙄</p><p>Today we release the version 0.30.0 of the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">XOD visual programming language</a>. It introduces a new concept: the <strong>errors</strong>. Errors are now a core part of the language having own rules and principles.</p><p>If you have experience in conventional programming, the new XOD mechanism is somewhat in the middle between Nothing’s/Optional’s/Maybe’s and exceptions seen in other programming languages.</p><p>In the XOD context, the errors free you up from all these ERR pulses which you probably never handled.</p><p>Now, errors can spread through the usual links and act like a virus which infects the program further and further causing its paralysis until a cure would be found (or not). What’s more interesting for a casual xoder, is that the errors are visualized in XOD IDE while debugging and simulation. No more guessing “why I see the static 0.00 on LCD?”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*a0JyZxq0j1djiSx2lPFLCA.png" /><figcaption>Errors are drawn with red in XOD IDE while debugging and simulation</figcaption></figure><p>To understand and use the new concept, our devs published a couple of new guide articles:</p><ul><li><a href="https://xod.io/docs/guide/errors/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">Errors</a></li><li><a href="https://xod.io/docs/guide/cpp-errors/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">Dealing with errors in C++</a></li></ul><h3>What else</h3><p>You can now delete terminal nodes from a patch node even if some other patches have links to corresponding pins. XOD used to show an error and reject the operation in such cases, which was really annoying. Now you’ll get some broken patches which are easy to spot and fix.</p><p>An underlying platform was tweaked and upgraded a bit, so XOD IDE became snappier and a little lighter in size on the disk.</p><p>Some xoders had problems with running the debugger for ATmega32U4-based boards (Arduino Leonardo, Iskra Neo, Arduino Micro) on Windows OS. That’s fixed now.</p><p>A new convenience node <a href="https://xod.io/libs/xod/core/switch-case/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">xod/core/switch-case</a> deserves mentioning too.</p><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.30.0">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_30_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, accept the upgrade offer when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=16b08d363436" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-30-0-errors-16b08d363436">XOD 0.30.0: Errors</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.29.0: New Tutorial]]></title>
            <link>https://medium.com/xodlang/xod-0-29-0-new-tutorial-d1a76d4df940?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/d1a76d4df940</guid>
            <category><![CDATA[arduino]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[tutorial]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Tue, 16 Apr 2019 13:58:01 GMT</pubDate>
            <atom:updated>2019-04-16T13:58:01.617Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Xh9AyBXjFq1rKIMOltrcYA.png" /></figure><p>Hi there! I’m glad to announce the new release of the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">XOD visual programming language</a>. This time our team laser-focused on docs rather than on features, and now XOD carries a brand new built-in tutorial. It is also available in the <a href="https://xod.io/docs/tutorial/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">web version</a> for quick exploration.</p><p>The previous version was created along with the first versions of IDE, and it is lacking an explanation of some concepts that we introduced recently. The new version fixes it. It is also structured better and split into four parts:</p><ol><li>Welcome — XOD basics which you can try without any hardware by using the simulation mode</li><li>Hardware — Working with popular hardware</li><li>Patterns — Common XOD tasks and idioms</li><li>Creating patches — Learn how to develop own nodes</li></ol><p>Hope you enjoy it.</p><h3>What else</h3><p>There’s an annoying problem reported many times in the <a href="https://forum.xod.io/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">community</a>. A conflict appears when one tries to control a single physical device (such as servo or LCD) from multiple nodes at different moments. If hardware nodes’ update pulses are not managed very carefully, the hardware can act sporadically reacting to orders from multiple nodes at the same time.</p><p>XOD is young, and even its authors don’t know all possibilities and tricks. We thought a new concept is necessary to deal with the problem, but fortunately, we’ve found a pattern which likely solves the problem and does not require any new features. Meet Mutex!</p><p>Mutexes (stands for “mutually exclusive”) available as a new library <a href="https://xod.io/libs/xod/mutex/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">xod/mutex</a> which allows a node to lock a resource taking exclusive control over it until the lock would be explicitly released or revoked. A comprehensive article on this topic is yet to be written, but you can already get the idea from a chapter of the tutorial talking about the sequential movement of a servo.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/534/1*h8U_kMnPqnvu5j5vdm7xLw.png" /><figcaption>The servo rotates slowly step after step ignoring new orders until the last step is complete</figcaption></figure><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.29.0">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_29_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, accept the upgrade offer when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d1a76d4df940" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-29-0-new-tutorial-d1a76d4df940">XOD 0.29.0: New Tutorial</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[XOD 0.28.0: More Detailed Patch Board]]></title>
            <link>https://medium.com/xodlang/xod-0-28-0-more-detailed-patch-board-7b2c7df43905?source=rss----affe4bd11ae4---4</link>
            <guid isPermaLink="false">https://medium.com/p/7b2c7df43905</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[arduino]]></category>
            <dc:creator><![CDATA[Victor Nakoryakov]]></dc:creator>
            <pubDate>Thu, 07 Mar 2019 14:20:55 GMT</pubDate>
            <atom:updated>2019-03-07T14:20:54.932Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JdmMjlDAtfHBYgJDhdjrSg.png" /></figure><p>Whew! We tried to lock release time frame and vary scope while developing the <a href="https://xod.io/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">XOD visual language</a> starting from this year. And it gives expected benefits: the new 0.28.0 release is here. Well, we had to sacrifice some features we wanted to implement initially, however, the most prominent and important improvements were made.</p><h3>Show me your values</h3><p>The main thing which is rolled out by the XOD team is the new look for the patch board.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*LbbjpFJyzIMl332G6p-Fmw.png" /><figcaption>A patch to format time as 11:12:13 AM</figcaption></figure><p>One serious flaw of the old visualization is that it hides the values bound to nodes’ pins which have no link attached. It makes the patch image incomplete: you cannot merely make a screenshot or print your program and understand it in full because the vital data is missing.</p><p>Even to read a program withing XOD IDE you have to click-click-click nodes and see the values associated with them.</p><p>With 0.28.0 the problem goes. Now XOD renders nodes exposing their pin labels as well as the bound values. Take a look:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*_aK0aG2GnOTveejBhWA9IA.png" /><figcaption>Before XOD 0.28.0</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*t6h6g5n4KGzDos5I6odRpg.png" /><figcaption>After XOD 0.28.0</figcaption></figure><p>Nice, eh?</p><p>You might think more details come at the expense of density. Yes, it is, but the effect is not so crucial. The UI designer worked hard to include the necessary data and keep the grid in place. Eventually, he got a clear variant which only takes extra 20% of horizontal space and does not ever alter the grid vertical rhythm: the nodes are a bit higher, but the gaps between rows are smaller.</p><p>We are sure the new layout will help to understand, share, and discuss your programs better.</p><h3>What else</h3><p>The previous release gave us all the tweak nodes. Unfortunately, it lacks pulse tweaks. This was addressed, and now you can use the new xod/debug/tweak-pulse node to generate some pulses in real-time by just clicking a button in the inspector.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/698/1*7Es3eMicjWeUffByrInQ9A.gif" /></figure><p>Along with the pulse tweak, we’ve added a few more standard nodes:</p><ul><li><a href="https://xod.io/libs/xod/math/min/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">xod/math/min</a> and <a href="https://xod.io/libs/xod/math/max/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">xod/math/max</a> — guess what they do</li><li><a href="https://xod.io/libs/xod/core/integrate-dt/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">xod/core/integrate-dt</a> — integrates a numeric value over time</li></ul><p>Another feature is that you can give arbitrary names to your C++ patch node pins, not necessarily a sequence valid as C++ variable name. You can even name your pin a 💩 although I don’t know whether it is a good idea.</p><p>Anyway, the symbols out of ASCII range get converted to character sequences like U1234 containing its code so the 💩 would become input_UD83D. To quickly understand what the final name a pin has in C++, the Quick Help sidebar is now functional when editing code. It lists all available symbol names in C++ terms: no more switching between the editor and patch to recall your names.</p><p>Tab management has been improved. The tab line is now scrollable when you open too many tabs. And, as in a browser, you can close a tab with a middle-click now.</p><p>Not the last, and not the least, the TAB key and focus issues finally resolved for the inspector sidebar. When you update a bound value for a pin, the input no longer loses its focus on pressing Enter: adjust the value as many times as you want and go on to the next input with the habitual TAB press.</p><p>As usual, the release includes many other small improvements and enhancements. Read the <a href="https://github.com/xodio/xod/releases/tag/v0.28.0">full list on GitHub</a>.</p><p>Get the new version of XOD from the <a href="https://xod.io/downloads/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">downloads page</a> or try it <a href="https://xod.io/ide/?utm_source=release&amp;utm_campaign=0_28_0&amp;utm_medium=medium">directly in your browser</a>. If you have XOD installed already, accept the upgrade offer when IDE starts.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7b2c7df43905" width="1" height="1" alt=""><hr><p><a href="https://medium.com/xodlang/xod-0-28-0-more-detailed-patch-board-7b2c7df43905">XOD 0.28.0: More Detailed Patch Board</a> was originally published in <a href="https://medium.com/xodlang">XODlang</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>