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.
To prevent memory leaks caused by long-lived connections, PostgREST limits their lifetime in the pool through db-pool-max-lifetime
.
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.
- Added HTTP status codes to the
pgrst_errors
. - Added a how-to on
sql-user-management-using-postgres-users-and-passwords
. - Updated the
Heroku installation page <deploy_heroku>
.
- Removed
db-pool-timeout
option because it was removed in thehasql-pool
library that PostgREST uses for SQL connections. (#2444)
- Deprecate bulk-calls when including the
Prefer: params=multiple-objects
in the request. It is preferable to use a function with anarray <s_procs_array>
or JSON parameter for a better performance. (#1385)
- 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 wheninserting <insert>
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 <computed_relationships>
that do not returnSETOF
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 <pgrst100>
on invalid syntax. (#2537)
Big thanks from the PostgREST team to our sponsors!
- Evans Fernandes
- Jan Sommer
- Franz Gusenbauer
- Daniel Babiak
- 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.