<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Releases on ebyte.org</title>
    <link>https://ebyte.org/tags/releases/</link>
    <description>Recent content in Releases on ebyte.org</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 21 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ebyte.org/tags/releases/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>EByte Case Study Comparing Sensor Captures Before and After a Firmware Update</title>
      <link>https://ebyte.org/ebyte-case-study-comparing-sensor-captures-before-and-after-a-firmware-update/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-comparing-sensor-captures-before-and-after-a-firmware-update/</guid>
      <description>&lt;p&gt;A firmware update changes what a device sends, and the usual way to find out what changed is to capture its traffic before and after and stare at hex dumps. EByte 0.5.0 adds &lt;code&gt;ebyte diff&lt;/code&gt;, which decodes two files through the same schema and lists the fields that differ, with each side&amp;rsquo;s offset and length and the old and new values of integers. This case study compared two packet captures of a small network sensor using the released &lt;code&gt;ebyte&lt;/code&gt; 0.5.0 Linux binary, downloaded from GitHub. Its checksum matched SHA256SUMS before anything ran.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Case Study Editing a PNG File With Every Chunk CRC Recomputed</title>
      <link>https://ebyte.org/ebyte-case-study-editing-a-png-file-with-every-chunk-crc-recomputed/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-editing-a-png-file-with-every-chunk-crc-recomputed/</guid>
      <description>&lt;p&gt;A PNG file is an 8-byte signature followed by chunks, and every chunk ends with a CRC-32 of its type and data. Change one byte of a comment by hand and the image is broken, because that CRC no longer matches. EByte 0.4.0 adds checksums to its schemas: a field can be declared as the CRC-32, Adler-32 or one of three CRC-16 variants of other fields, and EByte checks it on decode and writes it on encode. This case study tried it on a real PNG with the released &lt;code&gt;ebyte&lt;/code&gt; 0.4.0 Linux binary, downloaded from GitHub. Its checksum matched SHA256SUMS before anything ran.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Case Study Editing a WAV Title in the Browser</title>
      <link>https://ebyte.org/ebyte-case-study-editing-a-wav-title-in-the-browser/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-editing-a-wav-title-in-the-browser/</guid>
      <description>&lt;p&gt;EByte 0.7.0 runs in a web browser. The release has a new asset, &lt;code&gt;ebyte-wasm.zip&lt;/code&gt;, which is the same Go library compiled to WebAssembly, and the &lt;a href=&#34;https://ebyte.org/demo/&#34;&gt;demo page&lt;/a&gt; on this site loads it. There&amp;rsquo;s no server behind the page: a file you open is read by the page itself and never sent anywhere. This case study used the demo the way someone new to EByte would, with a file of their own, and then checked what came out with tools that know nothing about EByte.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Case Study Editing WAV and ZIP Files Without Fixing Sizes by Hand</title>
      <link>https://ebyte.org/ebyte-case-study-editing-wav-and-zip-files-without-fixing-sizes-by-hand/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-editing-wav-and-zip-files-without-fixing-sizes-by-hand/</guid>
      <description>&lt;p&gt;Every earlier case study ended with the same chore. Change the length of anything and some size field elsewhere in the file goes stale, and you fix it yourself: &lt;code&gt;riff_size&lt;/code&gt; in a WAV, the name lengths and the directory offset in a ZIP. EByte 0.3.0 adds derived sizes and offsets, so the schema can say where those numbers come from and the encoder works them out. This case study tried it on the same WAV and ZIP samples as before, using the released &lt;code&gt;ebyte&lt;/code&gt; 0.3.0 Linux binary downloaded from GitHub. Its checksum matched SHA256SUMS before anything ran.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Case Study Floats Bit Fields and Palettes in WAV BMP and IPv4</title>
      <link>https://ebyte.org/ebyte-case-study-floats-bit-fields-and-palettes-in-wav-bmp-and-ipv4/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-floats-bit-fields-and-palettes-in-wav-bmp-and-ipv4/</guid>
      <description>&lt;p&gt;EByte 0.6.0 adds three kinds of field that real formats kept asking for. There are floating-point numbers. There are bit fields, several small numbers packed into the same bytes. And there are byte fields that run up to an offset another field declares, like the colour palette in an 8-bit BMP. This case study tried each one on a different format with the released &lt;code&gt;ebyte&lt;/code&gt; 0.6.0 Linux binary, downloaded from GitHub. Its checksum matched SHA256SUMS before anything ran. Every result was checked with a tool that knows nothing about EByte: ffmpeg, Pillow and dpkt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Case Study Reading Every Chunk of a WAV File</title>
      <link>https://ebyte.org/ebyte-case-study-reading-every-chunk-of-a-wav-file/</link>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-case-study-reading-every-chunk-of-a-wav-file/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://ebyte.org/ebyte-case-study-reading-and-editing-a-real-wav-file/&#34;&gt;first WAV case study&lt;/a&gt; used a schema that knew exactly three chunks in a fixed order. Real WAV files aren&amp;rsquo;t that tidy. Recorders and editors add a &lt;code&gt;LIST&lt;/code&gt; chunk with a title and the software name, and some put it before the audio, some after. EByte 0.2.0 adds a &lt;code&gt;repeat&lt;/code&gt; field for this, and this case study tries it on a WAV file with metadata, using the released &lt;code&gt;ebyte&lt;/code&gt; 0.2.0 Linux binary downloaded from GitHub. Its checksum matched SHA256SUMS before anything ran.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EByte Launches One Schema for Reading and Writing Binary Files</title>
      <link>https://ebyte.org/ebyte-launches-one-schema-for-reading-and-writing-binary-files/</link>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://ebyte.org/ebyte-launches-one-schema-for-reading-and-writing-binary-files/</guid>
      <description>&lt;p&gt;EByte 0.1 is out. It&amp;rsquo;s a small Go library and a command-line tool for binary file formats, and it does one thing that sounds obvious until you&amp;rsquo;ve tried it: you describe a format once, and that single description reads files, writes them and explains them.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s the usual situation it&amp;rsquo;s meant for. A device exports a file, or an old program saves one, and you need to look inside it, change a value and save it again. You end up writing a reader. Then a writer, which has to agree with the reader to the byte. Then, when a file won&amp;rsquo;t load, you open a hex editor and count bytes by hand to find out which field went wrong. That&amp;rsquo;s three descriptions of the same format, and they drift.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
