tag:github.com,2008:https://github.com/PostgREST/postgrest/releasesRelease notes from postgrest2025-08-13T19:54:53Ztag:github.com,2008:Repository/20787122/devel2025-08-13T19:54:53Zdevel: Revert "fix: geojson invalid query on unavailable PostGIS"<p>This reverts commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/PostgREST/postgrest/commit/0f1ca8faac630518b343f195464beff47fe32c78/hovercard" href="https://github.com/PostgREST/postgrest/commit/0f1ca8faac630518b343f195464beff47fe32c78"><tt>0f1ca8f</tt></a>.</p>
<p>Reverting for now as it adds one more query to the schema cache and<br>
there's no clear way forward on how to integrate the fix with the<br>
current schema cache queries.</p>
<p>See discussion on<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3294691673" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4246" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/4246/hovercard?comment_id=3093174224&comment_type=review" href="https://github.com/PostgREST/postgrest/pull/4246#pullrequestreview-3093174224">#4246 (review)</a>.</p>steve-chaveztag:github.com,2008:Repository/20787122/v13.0.42025-06-18T01:57:16Zv13.0.4<h3>Fixed</h3>
<ul>
<li>Fix regression that makes full-text search not work on domain types based on <code>tsvector</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3139030839" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4135" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4135/hovercard" href="https://github.com/PostgREST/postgrest/issues/4135">#4135</a></li>
<li>Fix <code>jwt-aud</code> config not failing when set to an invalid URI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129488858" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4132" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4132/hovercard" href="https://github.com/PostgREST/postgrest/issues/4132">#4132</a></li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v13.0.32025-06-17T16:20:55Zv13.0.3<h3>Fixed</h3>
<ul>
<li>Fix <code>max-affected</code> preference not failing with RPC when <code>handling=strict</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3086183189" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4100" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4100/hovercard" href="https://github.com/PostgREST/postgrest/issues/4100">#4100</a></li>
<li>Fix a property definition's type in OpenAPI not showing the correct base type of a recursive domain by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141867774" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4136" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/4136/hovercard" href="https://github.com/PostgREST/postgrest/pull/4136">#4136</a></li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v13.0.22025-06-02T21:40:33Zv13.0.2<h3>Fixed</h3>
<ul>
<li>Fix regression that makes <code>ORDER BY</code> with nulls-order not work alongside limits by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3103360029" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4109" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4109/hovercard" href="https://github.com/PostgREST/postgrest/issues/4109">#4109</a></li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v13.0.12025-06-01T14:08:35Zv13.0.1<h3>Fixed</h3>
<ul>
<li>Fix jwt error returning HTTP status <code>400</code> for invalid role by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2356544828" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3601" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3601/hovercard" href="https://github.com/PostgREST/postgrest/issues/3601">#3601</a></li>
<li>Fix <code>db-extra-search-path</code> cannot be set to nothing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3052522429" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4074" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4074/hovercard" href="https://github.com/PostgREST/postgrest/issues/4074">#4074</a>
<ul>
<li>It can now be disabled by setting it to empty string.</li>
<li>Schema Cache load error is now logged including <code>db-schemas</code> and <code>db-extra-search-path</code> config values.</li>
</ul>
</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v13.0.02025-05-10T01:55:45Zv13.0.0<h2>Features</h2>
<h3>API</h3>
<ul>
<li>
<p><a href="https://docs.postgrest.org/en/v13/references/api/resource_embedding.html#spread-to-many-relationships" rel="nofollow">Spread to-many relationships</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2391592900" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3640" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3640/hovercard" href="https://github.com/PostgREST/postgrest/pull/3640">#3640</a></p>
<ul>
<li>Using aggregates in spread to-many is not yet supported (<a href="https://docs.postgrest.org/en/v13/references/api/aggregate_functions.html#aggregates-in-to-one-spreads" rel="nofollow">ref</a>).</li>
</ul>
</li>
<li>
<p><a href="https://docs.postgrest.org/en/v13/references/api/tables_views.html#automatic-tsvector-conversion" rel="nofollow">Automatic tsvector convertion</a> on filters by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1210121728" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/2255" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/2255/hovercard" href="https://github.com/PostgREST/postgrest/issues/2255">#2255</a></p>
</li>
<li>
<p>Improved performance when using RPCs via GET by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfgangwalther/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfgangwalther">@wolfgangwalther</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1797247522" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/2858" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/2858/hovercard" href="https://github.com/PostgREST/postgrest/issues/2858">#2858</a></p>
<ul>
<li>The generated queries are tuned so indexes can be used in more cases.</li>
</ul>
</li>
<li>
<p>Allow using <code>not_null</code> as value for the <code>is</code> <a href="https://docs.postgrest.org/en/v13/references/api/tables_views.html#operators" rel="nofollow">operator</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2581144799" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3747" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3747/hovercard" href="https://github.com/PostgREST/postgrest/issues/3747">#3747</a></p>
</li>
</ul>
<h3>Authentication</h3>
<ul>
<li>Searching on an array for <a href="https://docs.postgrest.org/en/v13/references/auth.html#jwt-role-extraction" rel="nofollow">JWT Role Extraction</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="624372443" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/1536" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/1536/hovercard" href="https://github.com/PostgREST/postgrest/issues/1536">#1536</a>.</li>
</ul>
<h3>Observability</h3>
<ul>
<li><a href="https://docs.postgrest.org/en/v13/references/errors.html#proxy-status-header" rel="nofollow">Proxy-Status header</a> for error responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1914343123" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/2967" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/2967/hovercard" href="https://github.com/PostgREST/postgrest/issues/2967">#2967</a></li>
<li><a href="https://docs.postgrest.org/en/v13/references/observability.html#content-length-header" rel="nofollow">Content-Length header</a> for traces on egress traffic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2997120331" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4016" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4016/hovercard" href="https://github.com/PostgREST/postgrest/issues/4016">#4016</a></li>
<li><a href="https://docs.postgrest.org/en/v13/references/observability.html#sql-query-logs" rel="nofollow">SQL query logs</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="688797283" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/1578" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/1578/hovercard" href="https://github.com/PostgREST/postgrest/issues/1578">#1578</a></li>
<li>Log resolved host in startup "Listening on ..." messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/develop7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/develop7">@develop7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2323717764" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3560" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3560/hovercard" href="https://github.com/PostgREST/postgrest/pull/3560">#3560</a></li>
<li>Log maximum pool size by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529157659" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3727" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3727/hovercard" href="https://github.com/PostgREST/postgrest/pull/3727">#3727</a></li>
<li>Log connection pool borrows on <code>log-level=debug</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2832045305" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3903" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3903/hovercard" href="https://github.com/PostgREST/postgrest/issues/3903">#3903</a></li>
</ul>
<h3>Errors</h3>
<ul>
<li>Improved JWT errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2356542149" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3600" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3600/hovercard" href="https://github.com/PostgREST/postgrest/issues/3600">#3600</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2886104359" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3926" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3926/hovercard" href="https://github.com/PostgREST/postgrest/issues/3926">#3926</a>
<ul>
<li><code>PGRST301</code> is now returned when <code>Bearer</code> in the Authorization header is sent empty</li>
<li><code>PGRST303</code> is now returned when decoding JWT claims fails</li>
<li>Better diagnostic error messages instead of exposed internals messages</li>
</ul>
</li>
<li>Return <code>PGRST125</code> instead of an empty json, when an invalid URL path is requested by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2840433901" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3906" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3906/hovercard" href="https://github.com/PostgREST/postgrest/issues/3906">#3906</a></li>
<li>Return <code>PGRST126</code> instead of an empty json, when OpenAPI is requested and it's disabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2840433901" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3906" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3906/hovercard" href="https://github.com/PostgREST/postgrest/issues/3906">#3906</a></li>
</ul>
<h3>Admin Server</h3>
<ul>
<li><a href="https://docs.postgrest.org/en/v13/references/configuration.html#admin-server-host" rel="nofollow">admin-server-host</a> config to set the host for the admin server by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/develop7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/develop7">@develop7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2323627315" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3558" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3558/hovercard" href="https://github.com/PostgREST/postgrest/pull/3558">#3558</a></li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Prevent spread embedding to allow aggregates when they are disabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2474544842" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3693" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3693/hovercard" href="https://github.com/PostgREST/postgrest/pull/3693">#3693</a></li>
<li>A nested spread embedding now correctly groups by the fields of its top parent relationship by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2474544842" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3693" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3693/hovercard" href="https://github.com/PostgREST/postgrest/pull/3693">#3693</a></li>
<li>Fix spread embedding errors when using the <code>count()</code> aggregate without a field by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2474544842" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3693" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3693/hovercard" href="https://github.com/PostgREST/postgrest/pull/3693">#3693</a>
<ul>
<li>Fixed <code>"column reference <col> is ambiguous"</code> error when selecting <code>?select=...table(col,count())</code></li>
<li>Fixed <code>"column <json_aggregate>.<alias> does not exist"</code> error when selecting <code>?select=...table(aias:count())</code></li>
</ul>
</li>
<li>Clarify listener logs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529157659" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3727" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3727/hovercard" href="https://github.com/PostgREST/postgrest/pull/3727">#3727</a></li>
<li>Clarify <code>Accept: vnd.pgrst.object</code> error message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2673523714" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3795" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3795/hovercard" href="https://github.com/PostgREST/postgrest/pull/3795">#3795</a></li>
<li>Handle queries on non-existing table gracefully by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2477828464" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3697" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3697/hovercard" href="https://github.com/PostgREST/postgrest/issues/3697">#3697</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2357019481" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3602" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3602/hovercard" href="https://github.com/PostgREST/postgrest/issues/3602">#3602</a></li>
<li>Fix using <code>order=</code> in mutation requests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1947233340" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3013" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3013/hovercard" href="https://github.com/PostgREST/postgrest/issues/3013">#3013</a></li>
<li>Fix filtering on unselected columns in a table-valued function by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2942990229" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3965" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3965/hovercard" href="https://github.com/PostgREST/postgrest/issues/3965">#3965</a></li>
<li>Fix schema cache loading duplicate objects with different object type but same oid by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3030230379" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4052" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4052/hovercard" href="https://github.com/PostgREST/postgrest/issues/4052">#4052</a></li>
<li>Querying non-existent table now returns <code>PGRST205</code> error instead of an empty json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2477828464" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3697" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3697/hovercard" href="https://github.com/PostgREST/postgrest/issues/3697">#3697</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2357019481" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3602" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3602/hovercard" href="https://github.com/PostgREST/postgrest/issues/3602">#3602</a></li>
<li>Fail to start when <code>server-port</code> and <code>admin-server-port</code> config options are the same by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/develop7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/develop7">@develop7</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2291041549" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3508" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3508/hovercard" href="https://github.com/PostgREST/postgrest/issues/3508">#3508</a></li>
<li>Fail to start when the JWT secret is less than 32 characters long by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laurenceisla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laurenceisla">@laurenceisla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2358008997" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3607" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3607/hovercard" href="https://github.com/PostgREST/postgrest/issues/3607">#3607</a></li>
<li>Fail to start on an invalid <code>db-schemas</code> or <code>db-extra-search-path</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfgangwalther/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfgangwalther">@wolfgangwalther</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396377354" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3644" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3644/hovercard" href="https://github.com/PostgREST/postgrest/pull/3644">#3644</a>
<ul>
<li>Previously, this would silently return 200 - OK on the root endpoint, but don't provide any usable endpoints.</li>
<li>Note: This also applies when deleting the <code>public</code> schema - both config options default to that.</li>
</ul>
</li>
</ul>
<h2>Breaking Changes</h2>
<ul>
<li>Drop support for Postgres EOL versions: 9.6, 10 and 11 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfgangwalther/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfgangwalther">@wolfgangwalther</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1065273312" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/2052" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/2052/hovercard" href="https://github.com/PostgREST/postgrest/pull/2052">#2052</a>.</li>
<li>Drop support for <a href="https://docs.postgrest.org/en/v12/references/api/preferences.html#single-json-object-as-function-parameter" rel="nofollow">Prefer: params=single-object</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelonsql/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelonsql">@joelonsql</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2616555502" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3757" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3757/hovercard" href="https://github.com/PostgREST/postgrest/pull/3757">#3757</a>
<ul>
<li>This preference was deprecated in favor of <a href="https://docs.postgrest.org/en/v13/references/api/functions.html#functions-with-an-array-of-json-objects" rel="nofollow">Functions with an array of JSON objects</a></li>
</ul>
</li>
<li>Drop support for <a href="https://docs.postgrest.org/en/v12/references/api/tables_views.html#limited-update-delete" rel="nofollow">Limited updates/deletes</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1947233340" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3013" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3013/hovercard" href="https://github.com/PostgREST/postgrest/issues/3013">#3013</a>
<ul>
<li>The feature was complex and had surprising behavior when using <code>order</code> on mutations.</li>
<li>If you'd like to limit affected rows on mutations, you can use the <a href="https://docs.postgrest.org/en/v13/references/api/preferences.html#prefer-max-affected" rel="nofollow">max-affected preference</a> instead.</li>
</ul>
</li>
<li>Drop <a href="https://docs.postgrest.org/en/v12/references/admin_server.html#runtime-configuration" rel="nofollow">Runtime Configuration</a> endpoint of admin server by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2932052453" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3956" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3956/hovercard" href="https://github.com/PostgREST/postgrest/issues/3956">#3956</a>
<ul>
<li>The endpoint was at risk of being left unprotected when exposing it.</li>
<li>The accompanying <a href="https://docs.postgrest.org/en/v12/references/configuration.html#admin-server-config-enabled" rel="nofollow">admin-server-config-enabled</a> config was also dropped.</li>
</ul>
</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v12.2.122025-07-10T17:53:43Zv12.2.12<h3>Fixed</h3>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2932052453" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3956" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3956/hovercard" href="https://github.com/PostgREST/postgrest/issues/3956">#3956</a>, Fix exposing admin server <code>/config</code> by default - <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steve-chavez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steve-chavez">@steve-chavez</a>
<ul>
<li>The above endpoint is now disabled unless the <code>admin-server-config-enabled</code> config is set to <code>true</code></li>
</ul>
</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v12.2.112025-04-21T23:01:16Zv12.2.11<h3>Fixed</h3>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3006783572" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4030" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4030/hovercard" href="https://github.com/PostgREST/postgrest/issues/4030">#4030</a>, Fix regression with parameter <code>charset=utf-8</code> in mediatype - <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a></li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v12.2.102025-04-19T03:23:49Zv12.2.10<h3>Fixed</h3>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2821912956" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3889" data-hovercard-type="pull_request" data-hovercard-url="/PostgREST/postgrest/pull/3889/hovercard" href="https://github.com/PostgREST/postgrest/pull/3889">#3889</a>, Fix: JWT cache purging on every request decreases performance - <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mkleczek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mkleczek">@mkleczek</a></li>
</ul>github-actions[bot]tag:github.com,2008:Repository/20787122/v12.2.92025-04-16T19:14:59Zv12.2.9<h3>Fixed</h3>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2287309267" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/3498" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/3498/hovercard" href="https://github.com/PostgREST/postgrest/issues/3498">#3498</a>, Fix incorrect parsing of the <code>for</code> parameter of the <code>application/vnd.pgrst.plan</code> media type - <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2995254024" data-permission-text="Title is private" data-url="https://github.com/PostgREST/postgrest/issues/4014" data-hovercard-type="issue" data-hovercard-url="/PostgREST/postgrest/issues/4014/hovercard" href="https://github.com/PostgREST/postgrest/issues/4014">#4014</a>, Fix JWT cache allows old tokens after the jwt-secret is changed in a config reload - <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taimoorzaeem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taimoorzaeem">@taimoorzaeem</a></li>
</ul>github-actions[bot]