<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://ocean.getport.io/changelog</id>
    <title>Ocean Blog</title>
    <updated>2026-03-30T20:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://ocean.getport.io/changelog"/>
    <subtitle>Ocean Blog</subtitle>
    <icon>https://ocean.getport.io/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[0.38.27]]></title>
        <id>https://ocean.getport.io/changelog/0.38.27</id>
        <link href="https://ocean.getport.io/changelog/0.38.27"/>
        <updated>2026-03-30T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.27#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Updated GH token used in CI</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.25]]></title>
        <id>https://ocean.getport.io/changelog/0.38.25</id>
        <link href="https://ocean.getport.io/changelog/0.38.25"/>
        <updated>2026-03-26T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Bug Fixes]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://ocean.getport.io/changelog/0.38.25#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Added <code>x-ratelimit-reset</code> to the list of retry-after headers checked by the Port HTTP transport, so that when Ocean receives a 429 from the Port API it waits until the rate-limit window resets instead of falling back to exponential backoff</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.26]]></title>
        <id>https://ocean.getport.io/changelog/0.38.26</id>
        <link href="https://ocean.getport.io/changelog/0.38.26"/>
        <updated>2026-03-25T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.26#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Migrated GHCR authentication across all CI workflows to use the org-level <code>PORT_MACHINE_USER_GITHUB_TOKEN</code> secret instead of <code>DOCKER_MACHINE_TOKEN</code></li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.24]]></title>
        <id>https://ocean.getport.io/changelog/0.38.24</id>
        <link href="https://ocean.getport.io/changelog/0.38.24"/>
        <updated>2026-03-25T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.24#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Enforced strict boundaries for entity_deletion_threshold, allowing only values between 0 and 1</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.23]]></title>
        <id>https://ocean.getport.io/changelog/0.38.23</id>
        <link href="https://ocean.getport.io/changelog/0.38.23"/>
        <updated>2026-03-24T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.23#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Revised descriptions for port-app-config root flags</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.22]]></title>
        <id>https://ocean.getport.io/changelog/0.38.22</id>
        <link href="https://ocean.getport.io/changelog/0.38.22"/>
        <updated>2026-03-19T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Features]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://ocean.getport.io/changelog/0.38.22#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h3>
<ul>
<li class="">Traceable webhook retrieval: log incoming webhooks with base64-encoded payload and trace_id for debugging.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.21]]></title>
        <id>https://ocean.getport.io/changelog/0.38.21</id>
        <link href="https://ocean.getport.io/changelog/0.38.21"/>
        <updated>2026-03-19T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Features]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://ocean.getport.io/changelog/0.38.21#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h3>
<ul>
<li class="">Added /isHealth route to ocean core</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.20]]></title>
        <id>https://ocean.getport.io/changelog/0.38.20</id>
        <link href="https://ocean.getport.io/changelog/0.38.20"/>
        <updated>2026-03-17T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Features]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://ocean.getport.io/changelog/0.38.20#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h3>
<ul>
<li class="">Added <code>originalWebhook</code> to lakehouse live events: the raw webhook payload is deep-copied before processing and included in <code>kafkaMetadata</code> when sending live event data to the lakehouse, ensuring the original inbound payload is preserved regardless of any mutations during processing.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.19]]></title>
        <id>https://ocean.getport.io/changelog/0.38.19</id>
        <link href="https://ocean.getport.io/changelog/0.38.19"/>
        <updated>2026-03-16T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Bug Fixes]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://ocean.getport.io/changelog/0.38.19#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Fixed overall sync status being stuck as <code>Syncing</code> instead of <code>Failed</code> when a resync fails during the transform phase of a specific kind. Initialized <code>__runtime__</code> and <code>__reconciliation__</code> success metrics to <code>0</code> before processing begins so their documents exist in the DB when <code>handle_resync_abortion</code> is triggered. Moved <code>metric_resource_context</code> and <code>resource_context</code> stacks <code>pop()</code> into <code>finally</code> blocks to guarantee context cleanup on error, preventing stale kind context from being used in subsequent metric updates.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.18]]></title>
        <id>https://ocean.getport.io/changelog/0.38.18</id>
        <link href="https://ocean.getport.io/changelog/0.38.18"/>
        <updated>2026-03-16T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.18#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">UI schema normalization: single-schema <code>allOf</code> is now flattened into the parent object when generating port-app-config UI schema.</li>
<li class="">Release workflow: upload integration <code>.port/examples/</code> to the registry bucket.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.17]]></title>
        <id>https://ocean.getport.io/changelog/0.38.17</id>
        <link href="https://ocean.getport.io/changelog/0.38.17"/>
        <updated>2026-03-16T18:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.17#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added integration tests infrastructure for resync process</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.16]]></title>
        <id>https://ocean.getport.io/changelog/0.38.16</id>
        <link href="https://ocean.getport.io/changelog/0.38.16"/>
        <updated>2026-03-15T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.16#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added <code>eventType</code> and <code>resyncId</code> (when applicable) to Port API requests for entity-related operations.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.15]]></title>
        <id>https://ocean.getport.io/changelog/0.38.15</id>
        <link href="https://ocean.getport.io/changelog/0.38.15"/>
        <updated>2026-03-15T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.15#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Add type:live_event in body to signify live_event ingested data in lakehouse</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.14]]></title>
        <id>https://ocean.getport.io/changelog/0.38.14</id>
        <link href="https://ocean.getport.io/changelog/0.38.14"/>
        <updated>2026-03-15T18:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.14#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added <code>resolve_included_file_path</code> in <code>port_ocean.core.utils.included_files</code> for resolving configured includedFiles paths to repo-relative paths. Integrations can use this shared utility instead of duplicating the logic.</li>
<li class="">Added <code>repo_branch_matches</code> in <code>port_ocean.core.utils.included_files</code> for matching repo/branch against selector repos mapping (supports explicit branch, <code>None</code> for default branch, and <code>"default"</code> literal). Uses <code>RepoBranchMappingLike</code> protocol so any integration mapping type works.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.13]]></title>
        <id>https://ocean.getport.io/changelog/0.38.13</id>
        <link href="https://ocean.getport.io/changelog/0.38.13"/>
        <updated>2026-03-15T17:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.13#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added progress logs in the reconciliation phase: logs are now emitted before fetching current entity state from Port and before the delete diff, showing counts of entities at Port, synced, and to be deleted.</li>
<li class="">Added <code>success</code> metric initialization for the reconciliation <code>syncing</code> state, ensuring <code>syncKindsMetrics</code> won't be stuck on pending state until completion.</li>
<li class="">Changed reconciliation completed/failed metric reporting to use PUT (update existing document) instead of POST (create new document), so the syncing document is updated in-place rather than creating a duplicate.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.11]]></title>
        <id>https://ocean.getport.io/changelog/0.38.11</id>
        <link href="https://ocean.getport.io/changelog/0.38.11"/>
        <updated>2026-03-11T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.11#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added support for items to parse in live events context</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.12]]></title>
        <id>https://ocean.getport.io/changelog/0.38.12</id>
        <link href="https://ocean.getport.io/changelog/0.38.12"/>
        <updated>2026-03-10T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.12#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Improved logging observability for JQ entity mapping failures: structured context fields (field, pattern, error) are now included in search failure logs, and stack traces are no longer embedded in log messages.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.10]]></title>
        <id>https://ocean.getport.io/changelog/0.38.10</id>
        <link href="https://ocean.getport.io/changelog/0.38.10"/>
        <updated>2026-03-10T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.10#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added <code>externalRunId</code> support for workflow node runs.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.9]]></title>
        <id>https://ocean.getport.io/changelog/0.38.9</id>
        <link href="https://ocean.getport.io/changelog/0.38.9"/>
        <updated>2026-03-09T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://ocean.getport.io/changelog/0.38.9#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<ul>
<li class="">Added webhook events to lakehouse integration: webhook raw data (both upserted and deleted) is now sent to lakehouse API with operation metadata (UPSERT/DELETE) before transformation, mirroring the existing resync flow for complete audit trail and data replay capabilities.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[0.38.8]]></title>
        <id>https://ocean.getport.io/changelog/0.38.8</id>
        <link href="https://ocean.getport.io/changelog/0.38.8"/>
        <updated>2026-03-09T19:00:00.000Z</updated>
        <summary type="html"><![CDATA[Bug fixes]]></summary>
        <content type="html"><![CDATA[<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug fixes<a href="https://ocean.getport.io/changelog/0.38.8#bug-fixes" class="hash-link" aria-label="Direct link to Bug fixes" title="Direct link to Bug fixes" translate="no">​</a></h3>
<ul>
<li class="">Resolved an infinite pagination loop caused by <code>handle_items_to_parse</code> mutating the original batch list via <code>.pop(0)</code>. The function now iterates without mutation, so integration generators retain their yielded
list for pagination decisions.</li>
</ul>]]></content>
    </entry>
</feed>