Added
- #3558, Add the
admin-server-hostconfig to set the host for the admin server - @develop7 - #3607, Log to stderr when the JWT secret is less than 32 characters long - @laurenceisla
- #2858, Performance improvements when calling RPCs via GET using indexes in more cases - @wolfgangwalther
- #3560, Log resolved host in "Listening on ..." messages - @develop7
- #3727, Log maximum pool size - @steve-chavez
- #1536, Add string comparison feature for jwt-role-claim-key - @taimoorzaeem
- #3747, Allow
not_nullvalue for theisoperator - @taimoorzaeem - #2255, Apply
to_tsvector()explicitly to the full-text search filtered column (excludingtsvectortypes) - @laurenceisla - #1578, Log the main SQL query to stderr at the current
log-levelwhenlog-query=main-query- @laurenceisla - #3903, Log connection pool borrows on
log-level=debug- @taimoorzaeem - #3041, Allow spreading one-to-many and many-to-many embedded resources - @laurenceisla
- The selected columns in the embedded resources are aggregated into arrays
- Aggregates are not supported
- #2967, Add
Proxy-Statusheader for better error response - @taimoorzaeem - #4016, Add
Content-Lengthresponse header - @laurenceisla
Fixed
- #3693, Prevent spread embedding to allow aggregates when they are disabled - @laurenceisla
- #3693, A nested spread embedding now correctly groups by the fields of its top parent relationship - @laurenceisla
- #3693, Fix spread embedding errors when using the
count()aggregate without a field - @laurenceisla- Fixed
"column reference <col> is ambiguous"error when selecting?select=...table(col,count()) - Fixed
"column <json_aggregate>.<alias> does not exist"error when selecting?select=...table(aias:count())
- Fixed
- #3727, Clarify "listening" logs - @steve-chavez
- #3795, Clarify
Accept: vnd.pgrst.objecterror message - @steve-chavez - #3697, #3602, Handle queries on non-existing table gracefully - @taimoorzaeem
- #3600, #3926, Improve JWT errors - @taimoorzaeem
- #3013, Fix
order=with POST, PATCH, PUT and DELETE requests - @taimoorzaeem - #3965, Fix filter on unselected columns in a table-valued function - @taimoorzaeem
- #4052, Fix schema cache load duplicate objects with different object type but same oid - @taimoorzaeem
Changed
- #2052, Dropped support for PostgreSQL 9.6 - @wolfgangwalther
- #2052, Dropped support for PostgreSQL 10 - @wolfgangwalther
- #2052, Dropped support for PostgreSQL 11 - @wolfgangwalther
- #3508, PostgREST now fails to start when
server-portandadmin-server-portconfig options are the same - @develop7 - #3607, PostgREST now fails to start when the JWT secret is less than 32 characters long - @laurenceisla
- #3644, Fail schema cache lookup with invalid db-schemas config - @wolfgangwalther
- Previously, this would silently return 200 - OK on the root endpoint, but don't provide any usable endpoints.
- #3757, Remove support for
Prefer: params=single-object- @joelonsql- This preference was deprecated in favor of Functions with an array of JSON objects
- #3013, Drop support for Limited updates/deletes
- The feature was complicated and largely unused.
- #3956, Drop
/configendpoint of admin server - @steve-chavez- The endpoint was at risk of being left unprotected when exposing it.
- The accompanying
admin-server-config-enabledconfig was also dropped.
- #3697, #3602, Querying non-existent table now returns
PGRST205error instead of empty json - @taimoorzaeem - #3600, #3926, Improve JWT errors - @taimoorzaeem
- Return
PGRST301error whenBearerin auth header is sent empty - Diagnostic error messages instead of exposed internals
- Return new
PGRST303error when jwt claims decoding fails
- Return
- #3906, Return
PGRST125andPGRST126errors instead of empty json - @taimoorzaeem