<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Design on pgmi</title><link>https://vvka-141.github.io/pgmi/docs/design/</link><description>Recent content in Design on pgmi</description><generator>Hugo</generator><language>en</language><atom:link href="https://vvka-141.github.io/pgmi/docs/design/index.xml" rel="self" type="application/rss+xml"/><item><title>API versioning</title><link>https://vvka-141.github.io/pgmi/docs/design/api-versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vvka-141.github.io/pgmi/docs/design/api-versioning/</guid><description>&lt;h1 id="change-request-api-versioning-for-pgmi-session-interface"&gt;Change Request: API Versioning for pgmi Session Interface&lt;a class="anchor" href="#change-request-api-versioning-for-pgmi-session-interface"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Status: IMPLEMENTED&lt;/strong&gt;
This design document describes changes that have been completed. The &amp;ldquo;Current State&amp;rdquo; section reflects the pre-implementation state for historical context. The &amp;ldquo;Target State&amp;rdquo; is now the actual implementation. See &lt;a href="https://vvka-141.github.io/pgmi/docs/session-api/"&gt;Session API&lt;/a&gt;
 for current API documentation.&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="overview"&gt;Overview&lt;a class="anchor" href="#overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Introduce versioned API contracts for pgmi&amp;rsquo;s session-scoped interface (temp tables, views, functions). This enables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stable deploy.sql scripts that don&amp;rsquo;t break on pgmi upgrades&lt;/li&gt;
&lt;li&gt;DevOps pipelines pinned to specific API versions&lt;/li&gt;
&lt;li&gt;Internal refactoring freedom for pgmi maintainers&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="motivation"&gt;Motivation&lt;a class="anchor" href="#motivation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Currently, deploy.sql scripts directly reference internal tables like &lt;code&gt;pg_temp.pgmi_source&lt;/code&gt;. If pgmi changes the table structure, all user deploy.sql scripts break. By introducing versioned views as the public API, pgmi can evolve internally while maintaining backward compatibility.&lt;/p&gt;</description></item></channel></rss>