Features
API
-
Media Type Handlers by @steve-chavez in #2825, #3076
- New how-to for Providing HTML Content Using Htmx by @laurenceisla
-
Strict/Lenient handling for Prefer header by @taimoorzaeem in #2969
Authentication
- JWT Caching by @taimoorzaeem in #2928
Connection Pool
Errors
Observability
-
Server-Timing response header by @taimoorzaeem, @develop7, @laurenceisla in #2937, #2983, #3064, #3068
-
Log all internal database errors to stderr by @laurenceisla in #3067
Transactions
Fixes
API
-
Remove unnecessary count on RPC returning single row by @steve-chavez in #3015
-
HTTP status responses for upserts by @taimoorzaeem in #2926
PUT
returns201
instead of200
when rows are insertedPOST
withPrefer: resolution=merge-duplicates
returns200
instead of201
when no rows are inserted
Observability
-
Transaction-Scoped Settings are now shown clearly in the Postgres logs by @laurenceisla in #3032
- Shows
set_config('pgrst.setting_name', $1)
instead ofsetconfig($1, $2)
- Does not apply to role settings and
app.settings.*
- Shows
-
Display an actual TCP port app is bound to by @develop7 in #3034
-
Fix Acquision Timeout errors logging to stderr when
log-level=crit
by @laurenceisla in #3067
Breaking changes
API
- Removed raw-media-types config by @steve-chavez in #2825
- Can be done more granularly with Media Type Handlers now.
- Removed
application/octet-stream
,text/plain
,text/xml
builtin support for scalar results - @steve-chavez- Can be done with more flexibility with a Handler Function now.
- Removed default
application/openapi+json
media type for db-root-spec by @steve-chavez in #2825- Can be done by adding a media type for
application/openapi+json
and a Handler Function now.
- Can be done by adding a media type for
Transactions
- Removed db-use-legacy-gucs by @laurenceisla in #3032
New Contributors
- @develop7 made their first contribution in #2946
- @omahs made their first contribution in #3044
- @timabdulla made their first contribution in #2925
Full Changelog: v11.2.2...v12.0.0