<?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>DEV Community: Breakwater</title>
    <description>The latest articles on DEV Community by Breakwater (@breakwaterdev).</description>
    <link>https://dev.to/breakwaterdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057143%2F4dbce005-93ac-4538-ae7c-2b245c1894aa.png</url>
      <title>DEV Community: Breakwater</title>
      <link>https://dev.to/breakwaterdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/breakwaterdev"/>
    <language>en</language>
    <item>
      <title>3 API changes to audit before your next deploy: Supabase, HubSpot, and Shopify</title>
      <dc:creator>Breakwater</dc:creator>
      <pubDate>Mon, 03 Aug 2026 09:00:28 +0000</pubDate>
      <link>https://dev.to/breakwaterdev/3-api-changes-to-audit-before-your-next-deploy-supabase-hubspot-and-shopify-29ap</link>
      <guid>https://dev.to/breakwaterdev/3-api-changes-to-audit-before-your-next-deploy-supabase-hubspot-and-shopify-29ap</guid>
      <description>&lt;p&gt;Release notes are easy to bookmark and easy to forget. These three changes have&lt;br&gt;
clear version or removal dates, concrete failure modes, and work you can test&lt;br&gt;
before they reach production.&lt;/p&gt;

&lt;p&gt;This is not a general product-news roundup. It is a short audit list for teams&lt;br&gt;
that own integrations with Supabase, HubSpot, or Shopify.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Supabase is replacing the Management API &lt;code&gt;logs.all&lt;/code&gt; endpoint
&lt;/h2&gt;

&lt;p&gt;Supabase will remove &lt;code&gt;analytics/endpoints/logs.all&lt;/code&gt; on &lt;strong&gt;September 23, 2026&lt;/strong&gt;.&lt;br&gt;
The replacement is the ClickHouse-backed &lt;code&gt;analytics/endpoints/logs&lt;/code&gt; endpoint.&lt;/p&gt;

&lt;p&gt;You are affected only if a script, integration, or internal tool calls the&lt;br&gt;
Management API endpoint directly. The dashboard Logs Explorer is not affected.&lt;/p&gt;

&lt;p&gt;The migration has three important parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Change the endpoint path from &lt;code&gt;logs.all&lt;/code&gt; to &lt;code&gt;logs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Convert the query to ClickHouse SQL.&lt;/li&gt;
&lt;li&gt;Query the unified &lt;code&gt;logs&lt;/code&gt; table and filter the source with &lt;code&gt;source_name&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nested log fields also move to a flatter &lt;code&gt;log_attributes&lt;/code&gt; map, so queries that&lt;br&gt;
currently unnest &lt;code&gt;metadata&lt;/code&gt; may need more than a path replacement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test before shipping:&lt;/strong&gt; run the old and new queries against the same bounded&lt;br&gt;
time window. Compare row counts, source distribution, timestamps, and the&lt;br&gt;
fields your alerting or export logic consumes. Add a contract test that fails&lt;br&gt;
if the old endpoint returns a removal response or if the new result loses the&lt;br&gt;
required source filter.&lt;/p&gt;

&lt;p&gt;Official source: &lt;a href="https://supabase.com/changelog/48235-migration-of-supabase-management-api-logs-all-analytics-endpoint-to-logs-endpoint" rel="noopener noreferrer"&gt;Supabase developer changelog&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. HubSpot pipeline deletes will validate references in API version 2026-09
&lt;/h2&gt;

&lt;p&gt;HubSpot's &lt;code&gt;2026-09&lt;/code&gt; Pipelines API version goes live on &lt;strong&gt;September 8, 2026&lt;/strong&gt;.&lt;br&gt;
After an integration moves to that version, deleting a pipeline or stage that&lt;br&gt;
is still referenced will be blocked by default and may return HTTP 400.&lt;/p&gt;

&lt;p&gt;Earlier API versions keep their existing behavior. The risk appears when your&lt;br&gt;
integration upgrades to &lt;code&gt;2026-09&lt;/code&gt; or later, not merely when the calendar reaches&lt;br&gt;
September.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Audit now:&lt;/strong&gt; find every code path that deletes a pipeline or stage. Decide&lt;br&gt;
whether a referenced resource should be treated as a user-correctable conflict&lt;br&gt;
or whether your workflow truly depends on the documented opt-out behavior.&lt;br&gt;
Prefer removing references and retrying deliberately over making destructive&lt;br&gt;
deletes automatic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test before shipping:&lt;/strong&gt; seed a pipeline with an in-use stage, attempt the&lt;br&gt;
delete against the target API version, and assert that the integration surfaces&lt;br&gt;
the validation error without retrying indefinitely. Keep the earlier version&lt;br&gt;
pinned until the new behavior and recovery path pass in staging.&lt;/p&gt;

&lt;p&gt;Official source: &lt;a href="https://developers.hubspot.com/changelog/pipeline-stage-validation-true" rel="noopener noreferrer"&gt;HubSpot developer changelog&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Shopify removes &lt;code&gt;Customer.lastIncompleteCheckout&lt;/code&gt; in version 2026-10
&lt;/h2&gt;

&lt;p&gt;Shopify's Customer Account API version &lt;code&gt;2026-10&lt;/code&gt; removes the deprecated&lt;br&gt;
&lt;code&gt;Customer.lastIncompleteCheckout&lt;/code&gt; field and the Checkout type subtree that was&lt;br&gt;
reachable through it. The field had already returned &lt;code&gt;null&lt;/code&gt;, but its schema&lt;br&gt;
removal means queries that still select it can fail validation after the version&lt;br&gt;
upgrade.&lt;/p&gt;

&lt;p&gt;There is no direct replacement field in the Customer Account API.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For an active storefront cart or checkout, move to Storefront API cart flows.&lt;/li&gt;
&lt;li&gt;For completed purchase history, use &lt;code&gt;Customer.orders&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Test before shipping:&lt;/strong&gt; search stored GraphQL documents, generated types,&lt;br&gt;
fragments, persisted queries, fixtures, and mocks for&lt;br&gt;
&lt;code&gt;lastIncompleteCheckout&lt;/code&gt;. Run schema validation against &lt;code&gt;2026-10&lt;/code&gt;, then test the&lt;br&gt;
replacement flow at the boundary where your application actually needs cart or&lt;br&gt;
order state.&lt;/p&gt;

&lt;p&gt;Official source: &lt;a href="https://shopify.dev/changelog/customer-account-api-last-incomplete-checkout-and-checkout-types-removed" rel="noopener noreferrer"&gt;Shopify developer changelog&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A reusable migration checklist
&lt;/h2&gt;

&lt;p&gt;For each upstream change:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Name the owning integration and team.&lt;/li&gt;
&lt;li&gt;Record the vendor version or removal date.&lt;/li&gt;
&lt;li&gt;Pin the current version while the migration is incomplete.&lt;/li&gt;
&lt;li&gt;Add a failing contract test before changing production code.&lt;/li&gt;
&lt;li&gt;Test the vendor's failure response, not only the happy path.&lt;/li&gt;
&lt;li&gt;Define rollback and reconciliation steps before upgrading.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The useful unit is not "we read the changelog." It is "we know which call we&lt;br&gt;
own, when it changes, and which test proves the migration is safe."&lt;/p&gt;

&lt;p&gt;I maintain &lt;a href="https://breakwaters.dev/weekly-api-risk-brief-2026-08-03?utm_source=dev.to&amp;amp;utm_medium=community&amp;amp;utm_campaign=weekly-risk-brief-aug50&amp;amp;utm_content=issue-01-devto"&gt;Breakwater&lt;/a&gt;,&lt;br&gt;
a local Chrome workspace that watches official developer changelogs and keeps&lt;br&gt;
migration deadlines beside the APIs your stack uses. The linked brief includes&lt;br&gt;
the same three official sources and a compact review path.&lt;/p&gt;

</description>
      <category>api</category>
      <category>devops</category>
      <category>webdev</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
