<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://magento-stock-radar.byte8.dev/blog</id>
    <title>Byte8 Stock Radar Blog</title>
    <updated>2026-04-26T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://magento-stock-radar.byte8.dev/blog"/>
    <subtitle>Byte8 Stock Radar Blog</subtitle>
    <icon>https://magento-stock-radar.byte8.dev/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[v1.0.0 — initial release]]></title>
        <id>https://magento-stock-radar.byte8.dev/blog/v1-0-0-release</id>
        <link href="https://magento-stock-radar.byte8.dev/blog/v1-0-0-release"/>
        <updated>2026-04-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The first public release of Byte8 Stock Radar is out: throttled batched]]></summary>
        <content type="html"><![CDATA[<p>The first public release of Byte8 Stock Radar is out: throttled batched
back-in-stock notifications for Magento 2, with per-variant subscriptions,
GraphQL parity, a demand-heatmap admin grid, and Hyvä companion module.</p>
<h2 class="anchor anchorWithStickyNavbar_gijT" id="whats-in-v100">What's in v1.0.0<a href="https://magento-stock-radar.byte8.dev/blog/v1-0-0-release#whats-in-v100" class="hash-link" aria-label="Direct link to What's in v1.0.0" title="Direct link to What's in v1.0.0" translate="no">​</a></h2>
<ul>
<li><strong>Throttled batched dispatch</strong> — <code>random_int(0, throttle_window)</code> per row
so a single restock spreads naturally across the configured window
(default 30 min). 800 subscribers don't all get the email at 09:00.</li>
<li><strong>Per-variant subscriptions on configurables</strong> — server-emitted variant
SKU map plugs straight into Magento Swatches (Luma) or a MutationObserver
on <code>selected_configurable_option</code> (Hyvä).</li>
<li><strong>Demand heatmap admin grid</strong> — sortable by pending subscriber count,
store-aware, EAV-joined product names, with a per-row "Edit product"
link. The merchandiser's reorder report.</li>
<li><strong>Subscription admin grid</strong> — flat listing for support / GDPR investigation.</li>
<li><strong>Customer account "My Stock Notifications" page</strong> — Luma + Hyvä variants,
one-click cancel via the same signed-token route as email unsubscribe.</li>
<li><strong>Full GraphQL surface</strong> — <code>byte8StockRadarSubscribe</code>,
<code>byte8StockRadarUnsubscribe</code>, <code>byte8StockRadarMySubscriptions</code>. Headless +
VelaFront ready.</li>
<li><strong>GDPR-first</strong> — guest emails stored as SHA-256 hash next to plaintext;
data subject deletion is O(1) by <code>email_hash</code>. Signed unsubscribe tokens
with no validity-leak in the response.</li>
<li><strong>Companion modules</strong>:<!-- -->
<ul>
<li><code>byte8/module-stock-radar-hyva</code> — Alpine + Tailwind front-end (free, MIT).</li>
<li><code>byte8/module-stock-radar-plenty</code> — paid bridge for DACH stores running
PlentyONE; extends the heatmap with live ERP data.</li>
</ul>
</li>
<li><strong>i18n</strong>: full English + German translations baked in.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_gijT" id="whats-not-in-v100">What's not in v1.0.0<a href="https://magento-stock-radar.byte8.dev/blog/v1-0-0-release#whats-not-in-v100" class="hash-link" aria-label="Direct link to What's not in v1.0.0" title="Direct link to What's not in v1.0.0" translate="no">​</a></h2>
<ul>
<li><strong>Pingbell compatibility module</strong> — deferred to a future patch release.
When both <code>byte8/module-pingbell</code> and Stock Radar are installed, the
threshold field will start posting admin notifications. Until then the
field is present but inert.</li>
<li><strong>Bulk admin GDPR delete</strong> — a <code>byte8StockRadarDeleteByEmail</code> mutation is
on the roadmap. For now use the SQL pattern in the <a href="https://magento-stock-radar.byte8.dev/docs/advanced/gdpr">GDPR docs</a>.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_gijT" id="why-amber">Why amber<a href="https://magento-stock-radar.byte8.dev/blog/v1-0-0-release#why-amber" class="hash-link" aria-label="Direct link to Why amber" title="Direct link to Why amber" translate="no">​</a></h2>
<p>Eagle-eyed visitors might notice the docs site is amber, while VAT
Validator is green and SEO Suite is indigo. The reasoning: each Byte8
Magento module gets a marketing-site-aligned colour from the same
"product family" palette. Amber for Stock Radar fits the radar / signal /
alerts metaphor. Green for VAT Validator sits in the accounting product
family. Indigo for SEO Suite sits in the discovery family.</p>
<h2 class="anchor anchorWithStickyNavbar_gijT" id="whats-next">What's next<a href="https://magento-stock-radar.byte8.dev/blog/v1-0-0-release#whats-next" class="hash-link" aria-label="Direct link to What's next" title="Direct link to What's next" translate="no">​</a></h2>
<ul>
<li><strong>Tests</strong> — unit coverage for <code>SubscriptionService</code>, observer transition
logic, and the demand collection.</li>
<li><strong>Pingbell compatibility module</strong>.</li>
<li><strong>Bulk GDPR mutation</strong>.</li>
<li><strong>Marketplace listing</strong> on Adobe Commerce + Hyvä Showroom.</li>
</ul>]]></content>
        <author>
            <name>Byte8 Team</name>
            <uri>https://byte8.io</uri>
        </author>
        <category label="release" term="release"/>
    </entry>
</feed>