10.2.0
This minor version adds bug fixes and some features that provide stability to v10.0.0. These release notes include the changes added in versions 10.1.0, 10.1.1 and 10.1.2. You can look at the detailed changelog and download the pre-compiled binaries on the GitHub release page.
Features
Pool Connection Lifetime
To prevent memory leaks caused by long-lived connections, PostgREST limits their lifetime in the pool through db-pool-max-lifetime.
Pool Connection Acquisition Timeout
There is now a time limit to wait for pool connections to be acquired. If a new request cannot get a connection in the time specified in db-pool-acquisition-timeout then a response with a 504
status is returned.
Documentation improvements
Added HTTP status codes to the PostgREST Error Codes.
Added a how-to on SQL User Management using postgres’ users and passwords.
Updated the Heroku installation page.
Changes
Removed
db-pool-timeout
option because it was removed in thehasql-pool
library that PostgREST uses for SQL connections. (#2444)
Deprecated
Bug fixes
Reduce allocations communication with PostgreSQL, particularly for request bodies. (#2261, #2349, #2467)
Fix
SIGUSR1
to fully flush the connection pool. (#2401, #2444)Fix opening an empty transaction on failed resource embedding. (#2428)
Fix embedding the same table multiple times. (#2455)
Fix a regression when embedding views where base tables have a different column order for foreign key columns (#2518)
Fix a regression with the
Location
header when inserting into views with primary keys from multiple tables (#2458)Fix a regression in OpenAPI output with mode
follow-privileges
(#2356)Fix infinite recursion when loading schema cache with self-referencing view (#2283)
Return status code
200
instead of404
forPATCH
requests which don’t affect any rows (#2343)Treat the computed relationships that do not return
SETOF
as M2O/O2O relationship (#2481)Fix embedding a computed relationship with a normal relationship (#2534)
Fix error message when
[]
is used insideselect
(#2362)Disallow
!inner
on computed columns (#2475)Ignore leading and trailing spaces in column names when parsing the query string (#2285)
Fix
UPSERT
with PostgreSQL 15 (#2545)Fix embedding views with multiple references to the same base column (#2459)
Fix regression when embedding views with partial references to multi column foreign keys (#2548)
Fix regression when requesting
limit=0
anddb-max-row
is set (#2558)Return a clear error without hitting the database when trying to update or insert an unknown column with
?columns
(#2542)Fix bad M2M embedding on RPC (#2565)
Replace misleading error message when no function is found with a hint containing functions/parameters names suggestions (#2575)
Move explanation about “single parameters” from the
message
to thedetails
in the error output (#2582)Replace misleading error message when no relationship is found with a hint containing parent/child names suggestions (#2569)
Add the required OpenAPI items object when the parameter is an array (#1405)
Add upsert headers for
POST
requests to the OpenAPI output (#2592)Fix foreign keys pointing to
VIEW
instead ofTABLE
in OpenAPI output (#2623)Consider any PostgreSQL authentication failure as fatal and exit immediately (#2622)
Fix
NOTIFY pgrst
not reloading the db connections catalog cache (#2620)Fix
db-pool-acquisition-timeout
not logging to stderr when the timeout is reached (#2667)Fix PostgreSQL resource leak with long-lived connections through the db-pool-max-lifetime configuration (#2638)
There is now a stricter parsing of the query string. Instead of silently ignoring, the parser now returns a PostgREST error on invalid syntax. (#2537)
Thanks
Big thanks from the PostgREST team to our sponsors!
Evans Fernandes
Jan Sommer
Tsingson Qin
Michel Pelletier
Jay Hannah
Robert Stolarz
Nicholas DiBiase
Christopher Reid
Nathan Bouscal
Daniel Rafaj
David Fenko
Remo Rechkemmer
Severin Ibarluzea
Tom Saleeba
Pawel Tyll
If you like to join them please consider supporting PostgREST development.