Added
- #1414, Add related orders - @steve-chavez
- On a many-to-one or one-to-one relationship, you can order a parent by a child column
/projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
- On a many-to-one or one-to-one relationship, you can order a parent by a child column
- #1233, #1907, #2566, Allow spreading embedded resources - @steve-chavez
- On a many-to-one or one-to-one relationship, you can unnest a json object with
/projects?select=*,...clients(client_name:name)
- Allows including the join table columns when resource embedding
- Allows disambiguating a recursive m2m embed
- Allows disambiguating an embed that has a many-to-many relationship using two foreign keys on a junction
- On a many-to-one or one-to-one relationship, you can unnest a json object with
- #2340, Allow embedding without selecting any column - @steve-chavez
- #2563, Allow
is.null
ornot.is.null
on an embedded resource - @steve-chavez- Offers a more flexible replacement for
!inner
, e.g./projects?select=*,clients(*)&clients=not.is.null
- Allows doing an anti join, e.g.
/projects?select=*,clients(*)&clients=is.null
- Allows using or across related tables conditions
- Offers a more flexible replacement for
- #1100, Customizable OpenAPI title - @AnthonyFisi
- #2506, Add
server-trace-header
for tracing HTTP requests. - @steve-chavez- When the client sends the request header specified in the config it will be included in the response headers.
- #2694, Make
db-root-spec
stable. - @steve-chavez- This can be used to override the OpenAPI spec with a custom database function
- #1567, On bulk inserts, missing values can get the column DEFAULT by using the
Prefer: missing=default
header - @steve-chavez - #2501, Allow filtering by
IS DISTINCT FROM
using theisdistinct
operator, e.g./people?alias=isdistinct.foo
- #2663, Limit maximal postgresql connection lifetime - @robx
- New option
db-pool-max-lifetime
(default 30m) db-pool-acquisition-timeout
is no longer optional and defaults to 10s- Fixes postgresql resource leak with long-lived connections (#2638)
- New option
- #1569, Allow
any/all
modifiers on theeq,like,ilike,gt,gte,lt,lte,match,imatch
operators, e.g./tbl?id=eq(any).{1,2,3}
- @steve-chavez- This converts the input into an array type
Fixed
- #2651, Add the missing
get
path item for RPCs to the OpenAPI output - @laurenceisla - #2648, Fix inaccurate error codes with new ones - @laurenceisla
PGRST204
: Column is not foundPGRST003
: Timed out when acquiring connection to db
- #2667, Fix
db-pool-acquisition-timeout
not logging to stderr when the timeout is reached - @steve-chavez - #1652, Fix function call with arguments not inlining - @steve-chavez
- #2705, Fix bug when using the
Range
header onPATCH/DELETE
- @laurenceisla- Fix the
"message": "syntax error at or near \"RETURNING\""
error - Fix doing a limited update/delete when an
order
query parameter was present
- Fix the
Changed
- #2705, The
Range
header is now only considered onGET
requests and is ignored for any other method - @laurenceisla- Other methods should use the
limit/offset
query parameters for sub-ranges PUT
requests no longer return an error when this header is present (usinglimit/offset
still triggers the error)
- Other methods should use the
Changed
- #2733, Remove bulk RPC call with the
Prefer: params=multiple-objects
header. A function with a JSON array or object parameter should be used instead.