# PostgREST changelog > Turns a PostgreSQL schema directly into a RESTful API. - Vendor: PostgREST - Category: Developer Tools - Official site: https://postgrest.org - Tracked by: What's New (https://whatsnew.fyi/product/postgrest) - Harvested from: GitHub (PostgREST/postgrest) - Entries below: 11 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v16.1 - Date: 2026-08-11 - Version: v16.1 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v16.1 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v16.1 - **fixed** — JWT validation uses correct current time, fixing a bug in auto-update ###### Fixed - JWT validation uses wrong current time due to a bug in auto-update by @mkleczek in #5159 ### v16.0 - Date: 2026-08-07 - Version: v16.0 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v16.0 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v16.0 - **added** — Add graceful shutdown for HTTP server - **added** — Add server-reuseport configuration to allow starting multiple PostgREST instances using the same port on supported platforms - **added** — Add support for JSON Path RFC 9535 in JWT Role Extraction - **added** — Add numeric offsets like 05:00 or -4 to Prefer: timezone - **added** — Add Vary header to responses - **added** — Add GHC runtime metrics for observability - **added** — Add client-error-verbosity configuration to customize response error verbosity - **added** — Add admin-server-unix-socket and admin-server-unix-socket-mode to run the admin server on a unix socket - **added** — Publish Docker images to Github Container Registry in addition to Docker Hub - **changed** — Optimize schema cache domain type resolution by using pg_basetype on PostgreSQL 17+ - **changed** — Prefer: count=exact no longer does a double count on requests that do not use ranges or db-max-rows - **changed** — Prefer: timezone no longer requires the schema cache - **changed** — Make aarch64-linux executable static instead of Ubuntu-based - **changed** — Build aarch64-linux Docker image from scratch instead of Ubuntu-based - **changed** — log-level configuration is now reloadable - **deprecated** — Deprecate filters, orders and limits with the name of an embedded table when it has an alias - **fixed** — Fix unexpected results when embedding and filtering the same table more than once - **fixed** — Fix automatic transaction retries on serialization_failure errors to prevent replication lag - **fixed** — Fix responding with Something went wrong on Admin server when under EMFILE - **fixed** — Fix requests failing when the schema cache fails to reload by continuing to serve requests in best effort mode - **fixed** — Fix reporting 503 errors unnecessarily while the schema cache is loading at startup - **fixed** — Fix schema cache dump missing RPC transaction isolation level - **fixed** — Fix config db-channel-enabled not reloading - **removed** — Drop support for PostgreSQL 13 ###### Changes ###### HTTP Server - [Graceful shutdown](https://docs.postgrest.org/en/v16/references/http_server.html#graceful-shutdown) by @mkleczek, @Vlix in #4702 - [server-reuseport](https://docs.postgrest.org/en/v16/references/configuration.html#server-reuseport) allows starting multiple PostgREST instances using the same port on supported platforms by @mkleczek in #4703, #4694 ###### Performance - Optimize schema cache domain type resolution by using [pg_basetype](https://www.postgresql.org/docs/current/functions-info.html#FUNCTIONS-INFO-CATALOG) on PostgreSQL 17+ by @joelonsql in #4567 - [Prefer: count=exact](https://docs.postgrest.org/en/v16/references/api/pagination_count.html#exact-count) no longer does a double count on requests that do not use ranges or `db-max-rows` by @laurenceisla in #3957 - [Prefer: timezone](https://docs.postgrest.org/en/v16/references/api/preferences.html#prefer-timezone) no longer requires the schema cache by @steve-chavez in #5100 + Previously this required caching [pg_timezone_names](https://www.postgresql.org/docs/current/view-pg-timezone-names.html) which was slow in some systems ###### Integrations - PostgREST is now tested to work with [OrioleDB](https://github.com/orioledb/orioledb/) in #4845 by @wolfgangwalther + See [our guide for running OrioleDB on NixOS](https://docs.postgrest.org/en/v16/integrations/nixos.html) ###### JWT - [JWT Role Extraction](https://docs.postgrest.org/en/v16/references/auth.html#jwt-role-extract) is now more flexible, supporting the standard JSON Path defined in RFC 9535 by @taimoorzaeem in #4984 ###### API - [Prefer: timezone](https://docs.postgrest.org/en/v16/references/api/preferences.html#timezone) now supports numeric offsets like `05:00` or `-4` by @steve-chavez in #5100 - Fix unexpected results when embedding and filtering the same table more than once by @laurenceisla in #4075 + You need to set [url-use-legacy-target-names](https://docs.postgrest.org/en/v16/references/configuration.html#url-use-legacy-target-names) to `false`. - Deprecate filters, orders and limits with the name of an embedded table when it has an alias by @steve-chavez, @laurenceisla in #4075 + e.g. `?select=alias:table(*)&table.id=eq.1` will not be possible anymore, use `?select=alias:table(*)&alias.id=eq.1` instead. + You will see a warning in the logs and a `Warning` header on the client response when this happens. + You can disable this behavior now by setting `url-use-legacy-target-names = false`. - Add `Vary` header to responses by @develop7 in #4609 - Fix automatic transaction retries on `40001 (serialization_failure)` errors to prevent replication lag by @laurenceisla in #3673 ###### Observability - [GHC runtime metrics](https://docs.postgrest.org/en/v16/references/observability.html#ghc-runtime-metrics) by @mkleczek in #4862 - [client-error-verbosity](https://docs.postgrest.org/en/v16/references/configuration.html#client-error-verbosity) to customize responses error verbosity by @taimoorzaeem in #4088, #3980, #3824 - [log-level](https://docs.postgrest.org/en/v16/references/configuration.html#log-level) config is now reloadable by @taimoorzaeem in #5113 - Log error when `db-schemas` config contains schema `pg_catalog` or `information_schema` by @taimoorzaeem in #4359 - Log schema cache queries timings on `log-level=debug` by @steve-chavez in #4805 ###### Admin Server - [admin-server-unix-socket](https://docs.postgrest.org/en/v16/references/configuration.html#admin-server-unix-socket)/[admin-server-unix-socket-mode](https://docs.postgrest.org/en/v16/references/configuration.html#admin-server-unix-socket-mode) to run the admin server on a unix socket by @wolfgangwalther in #5003 - Fix responding with `Something went wrong` on Admin server when under EMFILE by @mkleczek in #5077 ###### Deployment - Make executable for aarch64-linux static instead of Ubuntu-based by @wolfgangwalther in # _[Truncated at 4000 characters — full notes: https://github.com/PostgREST/postgrest/releases/tag/v16.0]_ ### v14.16 - Date: 2026-07-27 - Version: v14.16 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.16 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.16 - **fixed** — Fix admin server crashing without a way to recover ###### Fixed - Fix admin server crashing without a way to recover by @taimoorzaeem in #5096 ### v14.15 - Date: 2026-07-13 - Version: v14.15 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.15 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.15 - **fixed** — Fix admin server dying silently ###### Fixed - Fix admin server dying silently by @Vlix, @mkleczek, @steve-chavez in #5012 ### v14.14 - Date: 2026-06-29 - Version: v14.14 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.14 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.14 - **fixed** — Fix admin server not logging cause of failure ###### Fixed - Fix admin server not logging cause of failure by @taimoorzaeem in #5012 ### v14.13 - Date: 2026-06-04 - Version: v14.13 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.13 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.13 - **fixed** — Remove redundant "Retrying the connection." from PGRST000 error message because it is logged separately - **fixed** — Fix request failures when work_mem is set on a role ###### Fixed - Fix connection retrying message in `PGRST000` error by @netqo in #4980 + Remove redundant "Retrying the connection." from message because it is logged separately - Fix request failures when `work_mem` is set on a role by @laurenceisla in #4955 ### v14.12 - Date: 2026-05-20 - Version: v14.12 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.12 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.12 - **fixed** — Fix race condition in pool_available metric causing negative values during network instability ###### Fixed - Fix race condition in pool_available metric causing negative values during network instability by @mkleczek in #4622 ### v14.11 - Date: 2026-05-04 - Version: v14.11 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.11 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.11 - **fixed** — Fix login with uppercase and mixed case role names - **fixed** — Restore Listener query shape so it can be found in pg_stat_activity - **fixed** — The LISTEN channel now automatically recovers when it stops working due to a PostgreSQL bug - **fixed** — Fix misleading "Functions" name on schema cache summary in startup logs ###### Fixed - Fix login with uppercase and mixed case role names by @taimoorzaeem in #4678 - Restore Listener query shape so it can be found in `pg_stat_activity` by @mkleczek in #4857 #4859 - The LISTEN channel now automatically recovers when it stops working due to a PostgreSQL bug @laurenceisla in #3147 - Fix misleading "Functions" name on schema cache summary in startup logs by @taimoorzaeem in #4821 ### v14.10 - Date: 2026-04-16 - Version: v14.10 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.10 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.10 - **added** — Log when the pool is released during schema cache reload on log-level=debug - **fixed** — Fix unnecessary connection pool flushes during schema cache reloading ###### Added - Log when the pool is released during schema cache reload on `log-level=debug` by @mkleczek in #4668 ###### Fixed - Fix unnecessary connection pool flushes during schema cache reloading by @mkleczek in #4645 ### v14.9 - Date: 2026-04-11 - Version: v14.9 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.9 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.9 - **added** — Log host, port and pg version of listener database connection - **fixed** — Remove red herring warp logs on default log-level, only emit them on log-level=debug ###### Added - Log host, port and pg version of listener database connection by @mkleczek in #4617 #4618 ###### Fixed - Remove red herring warp logs on default log-level, only emit them on `log-level=debug` by @steve-chavez in #4799 ### v14.8 - Date: 2026-04-03 - Version: v14.8 - Original notes: https://github.com/PostgREST/postgrest/releases/tag/v14.8 - Permalink: https://whatsnew.fyi/product/postgrest/releases/v14.8 - **added** — Log a HINT when the LISTEN channel stops working due to a PostgreSQL bug - **fixed** — Fix invalid OpenAPI 2.0 format for integer types (smallint, integer, bigint) ###### Added - Log a `HINT` when the LISTEN channel stops working due to a PostgreSQL bug by @laurenceisla in #4581 ###### Fixed - Fix invalid OpenAPI 2.0 format for integer types (`smallint`, `integer`, `bigint`) by @arturbent0 in #4641