<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Etlworks blog</title>
    <link>https://etlworks.com/blog/</link>
    <description>AI and data integration, best practices, lessons from real deployments, and engineering notes — from the team building Etlworks.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 27 Jul 2026 22:21:55 +0000</lastBuildDate>
    <atom:link href="https://etlworks.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Nobody cares that you have AI</title>
      <link>https://etlworks.com/blog/nobody-cares-that-you-have-ai.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/nobody-cares-that-you-have-ai.html</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>ai</category>
      <description>Every data tool shipped an AI feature in the last eighteen months. Most are demos. Here is the test that separates them.</description>
    </item>
    <item>
      <title>Everyone raised prices. We didn&#x27;t.</title>
      <link>https://etlworks.com/blog/everyone-raised-prices-we-didnt.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/everyone-raised-prices-we-didnt.html</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>pricing</category>
      <description>Vendors raised prices in 2025, raised them again in 2026, and will raise them in 2027. We kept ours where they were and doubled the product instead.</description>
    </item>
    <item>
      <title>Eight layers, one decision</title>
      <link>https://etlworks.com/blog/eight-layers-one-decision.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/eight-layers-one-decision.html</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>security</category>
      <category>ai</category>
      <description>Roles, groups, permissions, tag views, and AI policy resolve into a single answer for every request, whether it arrives from the UI, REST, the CLI, or an AI agent.</description>
    </item>
    <item>
      <title>Three ways to MERGE into Delta, and when to use each</title>
      <link>https://etlworks.com/blog/three-ways-to-merge-into-delta.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/three-ways-to-merge-into-delta.html</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>warehouses</category>
      <description>Native Databricks flow types ship with three MERGE strategies, TEXT-only staging for schema drift, and an override for when the generated SQL is wrong.</description>
    </item>
    <item>
      <title>The biggest CDC rewrite we&#x27;ve shipped</title>
      <link>https://etlworks.com/blog/the-biggest-cdc-rewrite-weve-shipped.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/the-biggest-cdc-rewrite-weve-shipped.html</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>cdc</category>
      <description>Resumable snapshots, an offset editor with backup and restore, chunked parallel snapshots, and AS400 work that has no equivalent in stock Debezium.</description>
    </item>
    <item>
      <title>9.7.11: Security groups, and Simba builds everything</title>
      <link>https://etlworks.com/blog/etlworks-9-7-11.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/etlworks-9-7-11.html</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>releases</category>
      <description>A layered permission model enforced on every channel, an agent that creates any artifact, and parallel extraction for large tables.</description>
    </item>
    <item>
      <title>Autocomplete that doesn&#x27;t guess</title>
      <link>https://etlworks.com/blog/autocomplete-that-doesnt-guess.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/autocomplete-that-doesnt-guess.html</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>developer</category>
      <description>A language model will confidently offer you a column that does not exist. The completion in our code editors reads your actual schema instead.</description>
    </item>
    <item>
      <title>Ditch Airflow</title>
      <link>https://etlworks.com/blog/ditch-airflow.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/ditch-airflow.html</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>orchestration</category>
      <description>Most teams running Airflow maintain a Python framework in order to accomplish &#x27;run this every morning&#x27;. There is a shorter path.</description>
    </item>
    <item>
      <title>A CLI with SQL built in, and an agent that can drive it</title>
      <link>https://etlworks.com/blog/a-cli-with-sql-built-in.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/a-cli-with-sql-built-in.html</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>developer</category>
      <description>The in-app CLI runs SQL over the JSON that commands return, scripts with loops and captured variables, and doubles as the tool the agent uses to operate the platform.</description>
    </item>
    <item>
      <title>Update the tooling, keep your license</title>
      <link>https://etlworks.com/blog/update-the-tooling-keep-your-license.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/update-the-tooling-keep-your-license.html</guid>
      <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>ops</category>
      <description>No-license downloads for Linux and Windows, a Windows CLI to match the Linux one, and no form to fill in. For teams refreshing their tooling.</description>
    </item>
    <item>
      <title>9.6.11: CDC that resumes, and a real host CLI</title>
      <link>https://etlworks.com/blog/etlworks-9-6-11.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/etlworks-9-6-11.html</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>releases</category>
      <description>Interrupted CDC snapshots resume where they stopped, the offset editor gained backup and restore, and the host CLI reached Windows parity.</description>
    </item>
    <item>
      <title>Map nested JSON and XML by dragging</title>
      <link>https://etlworks.com/blog/map-nested-json-and-xml-by-dragging.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/map-nested-json-and-xml-by-dragging.html</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>mapping</category>
      <description>Building an order document with line items used to mean writing a loop. Two kinds of lookup replace the JavaScript.</description>
    </item>
    <item>
      <title>A green run tells you almost nothing</title>
      <link>https://etlworks.com/blog/a-green-run-tells-you-almost-nothing.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/a-green-run-tells-you-almost-nothing.html</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>ops</category>
      <description>Run history says what happened. It does not say whether your schedules collide, which flow is eating the box, or what breaks next. That is what Insights is for.</description>
    </item>
    <item>
      <title>The whole X12 stack on one engine</title>
      <link>https://etlworks.com/blog/the-whole-x12-stack.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/the-whole-x12-stack.html</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>edi</category>
      <description>A translator, an AS2 gateway, and a mapper are usually three products and three invoices. Version 9.6.4 put all three on the engine that already runs your pipelines.</description>
    </item>
    <item>
      <title>9.6.4: Databricks, AS2, and an MCP server</title>
      <link>https://etlworks.com/blog/etlworks-9-6-4.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/etlworks-9-6-4.html</guid>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>releases</category>
      <description>Native Databricks flow types, full AS2 support for EDI, a schema-driven X12 editor, and Etlworks itself became an MCP server.</description>
    </item>
    <item>
      <title>How we use AI in 2026</title>
      <link>https://etlworks.com/blog/how-we-use-ai-in-2026.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/how-we-use-ai-in-2026.html</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>engineering</category>
      <category>ai</category>
      <description>Every engineer gets unlimited access to frontier models from both OpenAI and Anthropic. Nobody counts tokens, and nobody counts how much code the models wrote.</description>
    </item>
    <item>
      <title>You can&#x27;t fire an agent</title>
      <link>https://etlworks.com/blog/you-cant-fire-an-agent.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/you-cant-fire-an-agent.html</guid>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>ai</category>
      <category>opinion</category>
      <description>Half the founders I talk to are building agent meshes. We run three agents in total. The reason is accountability, and you cannot fire an agent.</description>
    </item>
    <item>
      <title>What we&#x27;re building next</title>
      <link>https://etlworks.com/blog/what-were-building-next.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/what-were-building-next.html</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <dc:creator>Maksym Sherbinin</dc:creator>
      <category>roadmap</category>
      <description>A new runtime stack, CPython replacing Jython, built-in SSO, official Kubernetes support, and dbt. Nothing here has shipped yet.</description>
    </item>
    <item>
      <title>9.5.8: Simba and Composer ship</title>
      <link>https://etlworks.com/blog/etlworks-9-5-8.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/etlworks-9-5-8.html</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <dc:creator>Olena Sherbinin</dc:creator>
      <category>releases</category>
      <description>The AI agent and the canvas-based flow builder both landed in this release, along with a rebuilt mapping editor.</description>
    </item>
    <item>
      <title>Five kinds of API pagination, and how to configure each</title>
      <link>https://etlworks.com/blog/five-kinds-of-api-pagination.html</link>
      <guid isPermaLink="true">https://etlworks.com/blog/five-kinds-of-api-pagination.html</guid>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <dc:creator>Artem Avdonin</dc:creator>
      <category>developer</category>
      <description>Page, offset, cursor, nextLink, and time. The HTTP connector handles all five as connection settings, so paging an API stops being a scripting exercise.</description>
    </item>
  </channel>
</rss>
