Skip to content

Releases: PostgREST/postgrest

v0.5.0.0

15 May 04:20
Compare
Choose a tag to compare

Added

  • The configuration (e.g. postgrest.conf) now accepts arbitrary settings that will be passed through as session-local database settings. This can be used to pass in secret keys directly as strings, or via OS environment variables. For instance: app.settings.jwt_secret = "$(MYAPP_JWT_SECRET)" will take MYAPP_JWT_SECRET from the environment and make it available to postgresql functions as current_setting('app.settings.jwt_secret'). Only app.settings.* values in the configuration file are treated in this way. - @canadaduane
  • #256, Add support for bulk UPSERT with POST and single UPSERT with PUT - @steve-chavez
  • #1078, Add ability to specify source column in embed - @steve-chavez
  • #821, Allow embeds alias to be used in filters - @steve-chavez
  • #906, Add jspath configurable role-claim-key - @steve-chavez
  • #1061, Add foreign tables to OpenAPI output - @rhyamada

Fixed

Changed

  • #828, A SET SCHEMA <db-schema> is done on each request, this has the following implications:
  • To use RPC now the json_to_record/json_to_recordset functions are needed, these are available starting from PostgreSQL 9.4 - @steve-chavez
  • Overloaded functions now depend on the dbStructure, restart/sighup may be needed for their correct functioning - @steve-chavez
  • #1098, Removed support for:
    • curly braces {} in embeds, i.e. /clients?select=*,projects{*} can no longer be used, from now on parens () should be used /clients?select=*,projects(*) - @steve-chavez
    • "in" operator without parens, i.e. /clients?id=in.1,2,3 no longer supported, /clients?id=in.(1,2,3) should be used - @steve-chavez
    • "@@", "@>" and "<@" operators, from now on their mnemonic equivalents should be used "fts", "cs" and "cd" respectively - @steve-chavez

v0.4.4.0

09 Jan 03:52
Compare
Choose a tag to compare

Added

Fixed

v0.4.3.0

06 Sep 16:35
Compare
Choose a tag to compare

Added

Fixed

  • #877, Base64 secret read from a file ending with a newline - @eric-brechemier
  • #896, Boolean env var interpolation in config file - @begriffs
  • #885, OpenAPI repetition reduced by using more definitions- @ldesgoui
  • #924, Improve relations initialization time - @9too
  • #927, Treat blank pre-request as missing - @begriffs

Changed

v0.4.2.0

11 Jun 22:30
Compare
Choose a tag to compare

Added

Fixed

v0.4.1.0

30 Apr 05:14
Compare
Choose a tag to compare

Added

Fixed

  • #827, Avoid Warp reaper, extend socket timeout to 1 hour - @majorcode
  • #791, malformed nested JSON error - @diogob
  • Resource embedding in views referencing tables in public schema - @fab1an
  • #777, Empty body is allowed when calling a non-parameterized RPC - @koulakis
  • #831, Fix proc resource embedding issue with search_path - @steve-chavez
  • #547, Use read-only transaction for stable/immutable RPC - @begriffs

v0.4.0.0

20 Jan 08:32
Compare
Choose a tag to compare

Added

  • Allow test database to be on another host - @dsimunic
  • Prefer: params=single-object to treat payload as single json argument in RPC - @dsimunic
  • Ability to generate an OpenAPI spec - @mainx07, @hudayou, @ruslantalpa, @begriffs
  • Ability to generate an OpenAPI spec behind a proxy - @hudayou
  • Ability to set addresses to listen on - @hudayou
  • Filtering, shaping and embedding with &select for the /rpc path - @ruslantalpa
  • Output names of used-defined types (instead of 'USER-DEFINED') - @martingms
  • Implement support for singular representation responses for POST/PATCH requests - @ehamberg
  • Include RPC endpoints in OpenAPI output - @begriffs, @LogvinovLeon
  • Custom request validation with --pre-request argument - @begriffs
  • Ability to order by jsonb keys - @steve-chavez
  • Ability to specify offset for a deeper level - @ruslantalpa
  • Ability to use binary base64 encoded secrets - @TrevorBasinger

Fixed

  • Do not apply limit to parent items - @ruslantalpa
  • Fix bug in relation detection when selecting parents two levels up by using the name of the FK - @ruslantalpa
  • Customize content negotiation per route - @begriffs
  • Allow using nulls order without explicit order direction - @steve-chavez
  • Fatal error on postgres unsupported version, format supported version in error message - @steve-chavez
  • Prevent database memory cosumption by prepared statements caches - @ruslantalpa
  • Use specific columns in the RETURNING section - @ruslantalpa
  • Fix columns alias for RETURNING - @steve-chavez

Changed

  • Replace Prefer: plurality=singular with Accept: application/vnd.pgrst.object - @begriffs
  • Standardize arrays in responses for Prefer: return=representation - @begriffs
  • Calling unknown RPC gives 404, not 400 - @begriffs
  • Use HTTP 400 for raise_exception - @begriffs
  • Remove non-OpenAPI schema description - @begriffs
  • Use comma rather than semicolon to separate Prefer header values - @begriffs
  • Omit total query count by default - @begriffs
  • No more reserved jwt_claims return type - @begriffs
  • HTTP 401 rather than 400 for expired JWT - @begriffs
  • Remove default JWT secret - @begriffs
  • Use GUC request.jwt.claim.foo rather than postgrest.claims.foo - @begriffs
  • Use config file rather than command line arguments - @begriffs

v0.3.2.0

11 Jun 18:58
Compare
Choose a tag to compare

Added

Fixed

  • Return 401 or 403 for access denied rather than 404 - @begriffs
  • Omit Content-Type header for empty body - @begriffs
  • Prevent role from being changed twice - @begriffs
  • Use read-only transaction for read requests - @ruslantalpa
  • Include entities from the same parent table using two different foreign keys - @ruslantalpa
  • Ensure that Location header in 201 response is URL-encoded - @league
  • Fix garbage collector CPU leak - @ruslantalpa et al.
  • Return deleted items when return=representation header is sent - @ruslantalpa
  • Use table default values for empty object inserts - @begriffs

v0.3.1.1

28 Mar 22:14
Compare
Choose a tag to compare

Fixed

  • Preserve unicode values in insert,update,rpc (regression) - @begriffs
  • Prevent duplicate call to stored procs (regression) - @begriffs
  • Allow SQL functions to generate registered JWT claims - @begriffs
  • Terminate gracefully on SIGTERM (for use in Docker) - @recmo
  • Relation detection fix for views that depend on multiple tables - @ruslantalpa
  • Avoid count on plurality=singular and allow multiple Prefer values - @ruslantalpa

v0.3.1.0

04 Mar 21:44
Compare
Choose a tag to compare

Fixed

Added

  • Applies range headers to RPC calls - @diogob

v0.3.0.4

13 Feb 07:28
Compare
Choose a tag to compare

Fixed