github PostgREST/postgrest v10.2.0.20230407

latest releases: v12.2.3, v12.2.2, v12.2.1...
pre-release19 months ago

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
  • #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
  • #2340, Allow embedding without selecting any column - @steve-chavez
  • #2563, Allow is.null or not.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
  • #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 byIS DISTINCT FROM using the isdistinct 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)
  • #1569, Allow any/all modifiers on the eq,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 found
    • PGRST003: 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 on PATCH/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

Changed

  • #2705, The Range header is now only considered on GET 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 (using limit/offset still triggers the error)

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.

Don't miss a new postgrest release

NewReleases is sending notifications on new releases.