Visitar URL original
Releases · PostgREST/postgrest · GitHub
Skip to content

Releases: PostgREST/postgrest

v16.5

Choose a tag to compare

@github-actions github-actions released this 20 Oct 05:03

Changes

  • Fix admin /live and /metrics waiting for a pool connection when db-channel-enabled is false by @mkleczek
  • Fix Prefer: timezone validation in selected pg versions by @taimoorzaeem
    • PostgREST returns PGRST129 error when timezone value exceeds 24 characters in pg versions lower than 18.6, 17.11, 16.15, 15.19 and 14.24.
    • The validation is added to mitigate Postgres CVE-2026-14669 for unpatched versions.
    • We recommend to upgrade to later PostgreSQL versions.

v16.4

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:31

Changes

  • Fix response on root endpoint when schema name is in mixed case by @taimoorzaeem in #5158
  • Fix config jwt-cache-max-entries not loaded from the database by @mkleczek in #5269

v16.3

Choose a tag to compare

@github-actions github-actions released this 11 Sep 04:14
b42f5f5

Changes

v14.18

Choose a tag to compare

@github-actions github-actions released this 10 Sep 08:19
6fafa60

Changes

v16.2

Choose a tag to compare

@github-actions github-actions released this 21 Aug 21:18

Added

Deprecated

  • The old (pre-v16) syntax for JSPath in jwt-role-claim-key is deprecated by @taimoorzaeem in #5171
    • You will see a warning in the logs when old syntax is used for the config.
    • See migration to v16 section for migration guide.

v14.17

Choose a tag to compare

@github-actions github-actions released this 13 Aug 16:57

Fixed

  • JWT validation uses wrong current time due to a bug in auto-update by @mkleczek in #5159

v16.1

Choose a tag to compare

@github-actions github-actions released this 11 Aug 00:07

Fixed

  • JWT validation uses wrong current time due to a bug in auto-update by @mkleczek in #5159

v16.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 20:37

Changes

HTTP Server

Performance

Integrations

JWT

API

  • Prefer: 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

  • 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

Admin Server

Deployment

Schema Cache

  • Fix requests failing when the schema cache fails to reload, when this happens PostgREST will continue serving requests in "best effort" by @mkleczek in #4873 #4869
  • Fix reporting 503s errors unnecessarily while the schema cache is loading at startup by @mkleczek in #4880
  • Fix schema cache dump missing RPC transaction isolation level by @taimoorzaeem in #5079

Listener

Migration to v16

  • Drop support for PostgreSQL EOL version 13 by @wolfgangwalther in #4193

    • PostgreSQL 13 end of life was on 2025 (ref)
    • Upgrade your PostgreSQL version to at least 14 to use this new PostgREST version.
  • Fail at startup when db-schemas contains schema pg_catalog or information_schema by @taimoorzaeem in #4359

    • Previously it failed at runtime with PGRST205 on requests related to these schemas.
    • Remove pg_catalog and information_schema from db-schemas.
  • Prefer: timezone no longer complies with handling=lenient and instead always fails by @steve-chavez in #5128

    • Supporting this required caching pg_timezone_names, which was expensive.
    • Ensure your requests always have a valid timezone.
  • jwt-role-claim-key no longer uses the JSPath DSL and instead uses JSON Path by @taimoorzaeem in #4984

    • If you don't explicitly set this config, you don't need to change anything as the default value will do the same thing on this version. If you do set this config, read on.
    • Now all config values must start with $ character.
      Example: .roles.read -> $.roles.read
    • Keys with special characters, with the exception of _ char must be quoted.
      Example: .roles.write-role -> $.roles["write-role"]
    • String comparison operators (^==, ==^ and *==) are replaced with regular expression search.
      Example: .roles[?(@ ^== "postgrest_test_")] -> $.roles[?search(@, "^postgrest_test_")]
    • Update the jwt-role-claim-key value accoring to the above rules. Also see the syntax reference: RFC 9535.

v14.16

Choose a tag to compare

@github-actions github-actions released this 27 Jul 07:34
673bbbf

Fixed

v14.15

Choose a tag to compare

@github-actions github-actions released this 13 Jul 23:22

Fixed