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.nullornot.is.nullon 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-headerfor 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-specstable. - @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=defaultheader - @steve-chavez - #2501, Allow filtering by
IS DISTINCT FROMusing theisdistinctoperator, e.g./people?alias=isdistinct.foo - #2663, Limit maximal postgresql connection lifetime - @robx
- New option
db-pool-max-lifetime(default 30m) db-pool-acquisition-timeoutis no longer optional and defaults to 10s- Fixes postgresql resource leak with long-lived connections (#2638)
- New option
- #1569, Allow
any/allmodifiers on theeq,like,ilike,gt,gte,lt,lte,match,imatchoperators, e.g./tbl?id=eq(any).{1,2,3}- @steve-chavez- This converts the input into an array type
Fixed
- #2651, Add the missing
getpath 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-timeoutnot 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
Rangeheader onPATCH/DELETE- @laurenceisla- Fix the
"message": "syntax error at or near \"RETURNING\""error - Fix doing a limited update/delete when an
orderquery parameter was present
- Fix the
Changed
- #2705, The
Rangeheader is now only considered onGETrequests and is ignored for any other method - @laurenceisla- Other methods should use the
limit/offsetquery parameters for sub-ranges PUTrequests no longer return an error when this header is present (usinglimit/offsetstill triggers the error)
- Other methods should use the
Changed
- #2733, Remove bulk RPC call with the
Prefer: params=multiple-objectsheader. A function with a JSON array or object parameter should be used instead.