Laurence Isla
bf90f95443
fix: logging the Haskell type instead of the listener error message directly
...
Previously: Just "connection error..."
Now: connection error...
2025-08-22 19:27:38 +00:00
Taimoor Zaeem and Steve Chavez
dfe5ba3863
fix(admin): metrics endpoint not responding with Content-Type header
...
The prometheus metrics text format requires `Content-Type` header
for correct scraping which fails otherwise. Closes #4271 .
Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com >
2025-08-20 16:13:55 -05:00
steve-chavez
1dce4a9321
Revert "fix: geojson invalid query on unavailable PostGIS"
...
This reverts commit 0f1ca8faac .
Reverting for now as it adds one more query to the schema cache and
there's no clear way forward on how to integrate the fix with the
current schema cache queries.
See discussion on
https://github.com/PostgREST/postgrest/pull/4246#pullrequestreview-3093174224 .
2025-08-13 14:54:53 -05:00
steve-chavez
0f1ca8faac
fix: geojson invalid query on unavailable PostGIS
...
Closes https://github.com/PostgREST/postgrest/issues/4245 .
It adds a query on schema cache construction, but doesn't add a new
attribute to the SchemaCache type. We only need the information to be
passed to the `initialMediaHandlers` function to build the builtin media
handlers.
2025-08-06 10:20:01 -05:00
steve-chavez
ad25479185
chore: put bounded jwt cache as addition
2025-07-30 04:53:22 -05:00
Taimoor Zaeem and Steve Chavez
6a37e1c37b
chore: correct recent change log entry
...
Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com >
2025-07-30 02:46:01 -05:00
Michal Kleczek and GitHub
77ff11de95
feat: JWT cache implementation based on sieve algorithm ( #4084 )
...
Changes:
1. Refactoring and some cleanup of JWT handling code:
* Instead of caching AuthResult cache decoded claims (which signature was verified). Validating claims and determining role is done after cache lookup
* Cleaned up API so that usage of it is simplified: lookupJwtCache cache key >>= parseClaims configJwtAud time
* Handling of JwtCacheState initialization and updates of configuration is encapsulated in Auth.JwtCache module
2. Generic high performance (hopefully) scalable, dynamically resizeable cache implementation based on stm, stm-hamt and sieve algorithm. It also integrates with PostgREST measurements infrastructure providing usage stats (ie. hit ratio, evictions count)
2025-07-29 18:51:41 -05:00
Taimoor Zaeem and Steve Chavez
d4caa0f5f5
fix: empty spread embeddings return unexpected SQL error
...
Fixes the SQL error from postgres when an empty spread embeddings
like `...table()` is requested.
2025-07-13 14:16:27 -05:00
Wolfgang Walther
d31c873cd5
chore(changelog): add removal of PostgreSQL 12
2025-07-11 19:21:40 +02:00
Joel Jakobsson and GitHub
01c23a8124
fix(openapi): respect function volatility for GET methods
...
The OpenAPI specification was incorrectly exposing GET methods for
VOLATILE functions, even though such functions properly reject GET
requests at runtime with "405 Method Not Allowed". This created
a mismatch between the advertised API specification and the actual
runtime behavior.
VOLATILE functions should only be callable via POST since they may
have side effects, while STABLE and IMMUTABLE functions can safely
be called via GET since they don't modify database state.
Fix by checking the pdVolatility field in makeProcPathItem() and
only including GET methods in the OpenAPI PathItem for non-volatile
functions.
The runtime behavior was already correct; this fixes only the
OpenAPI documentation generation.
2025-07-07 15:26:51 +00:00
Taimoor Zaeem and GitHub
4a0eb7febe
fix: OpenAPI broken docs link ( #4169 )
2025-06-27 15:14:34 -05:00
Taimoor Zaeem and Steve Chavez
c7e5db34e4
chore: add changelog for v13.0.3 and v13.0.4
2025-06-20 09:45:04 -05:00
Taimoor Zaeem and GitHub
c318d46469
fix: jwt-aud config not failing when set to invalid URI ( #4140 )
...
The `jwt-aud` config was not validated when containing ':'
character according to RFC 3986. This fix validates it and
fails at startup if it is invalid.
2025-06-16 15:40:47 -05:00
Laurence Isla
a2892ab1dd
fix: regression that makes fts not work on domain types based on tsvector
2025-06-16 16:53:29 +00:00
Laurence Isla
1879c813c8
fix: detect the correct base type of recursive domains in schema cache for tables and views
...
In OpenAPI it shows the correct base type in properties' definitions (including enums).
2025-06-16 16:53:29 +00:00
Taimoor Zaeem and Steve Chavez
dc46aea15e
fix: max-affected preference not failing for rpc with strict handling
2025-06-03 14:31:17 -05:00
Laurence Isla
e33ce843dd
chore: add changelog entry for v13.0.2
2025-06-02 18:09:29 -05:00
Laurence Isla
f7fa717411
fix: regression that makes order by with nulls order not work alongside limits
2025-06-02 17:44:57 +00:00
Taimoor Zaeem and Wolfgang Walther
4ae5db57dc
chore: add changelog entry for v13.0.1
2025-06-02 06:14:50 +00:00
Taimoor Zaeem and Steve Chavez
c5ccf742d6
feat: improve error details of PGRST301 error
2025-05-31 13:30:32 -05:00
Taimoor Zaeem and GitHub
ea9d4f49b2
fix: log db-schemas and db-extra-search-path in schema cache load error ( #4108 )
2025-05-30 10:13:19 -05:00
Taimoor Zaeem and Steve Chavez
000cb87ec1
fix: allow db-extra-search-path to accept empty value
2025-05-29 14:25:28 -05:00
Laurence Isla
0b3c8c98d8
feat: improve error response when the requested schema is invalid
...
- It now shows the invalid schema in the "message"
- The exposed schemas are now listed in the "hint" instead of the "message"
2025-05-15 02:21:00 +00:00
Taimoor Zaeem and GitHub
8390df0fa5
fix: jwt error return status 400 for invalid role ( #4081 )
2025-05-13 15:09:25 -05:00
Wolfgang Walther
bcf66253bd
chore: adjust changelog for db-extra-search-path
...
Came up in #4073
2025-05-09 14:56:53 +02:00
Wolfgang Walther
ad66ae4e74
bump version to 13.0.0
2025-05-08 21:48:49 +02:00
Taimoor Zaeem and Wolfgang Walther
657cabe757
fix: schema cache loads duplicate objects with different object type but same oid
2025-05-08 19:42:26 +00:00
steve-chavez
98ca7c15d5
drop: Admin server config endpoint
...
BREAKING CHANGE
The endpoint was at risk of being left unprotected when exposing it.
The accompanying `admin-server-config-enabled` config was also dropped.
2025-05-04 13:53:50 -05:00
steve-chavez
7d04731be1
chore: add changelog for v12.2.12
2025-05-04 13:53:50 -05:00
Taimoor Zaeem and Steve Chavez
f53147674e
fix: filter on unselected columns in a table-valued function
2025-04-27 14:20:13 -05:00
Laurence Isla and Steve Chavez
57ef9988a5
feat: add Content-Length response header
2025-04-24 12:49:18 -05:00
Taimoor Zaeem and Wolfgang Walther
98fcbedca5
chore: add changelog for v12.2.11
2025-04-23 07:34:19 +00:00
Taimoor Zaeem and Steve Chavez
fdf902319d
fix: regression with parameter charset=utf-8 in mediatype
2025-04-20 16:10:33 -05:00
steve-chavez
c732591f37
chore: add changelog for 12.2.10
2025-04-18 21:30:22 -05:00
steve-chavez
b740fcb1ff
changelog: add missing entry jwt cache purge fix
2025-04-18 20:46:25 -05:00
Wolfgang Walther
a37ec1e1a5
chore: add changelog for 12.2.9
2025-04-16 20:41:04 +02:00
Taimoor Zaeem and GitHub
bc5ec43300
fix: invalid JWTs after jwt-secret is changed in a config reload ( #4015 )
2025-04-16 09:40:36 -05:00
Taimoor Zaeem and GitHub
a6e81a5241
fix: parsing of the for parameter of plan media type ( #4005 )
2025-04-12 06:10:25 -05:00
Taimoor Zaeem and GitHub
f7f87b42ca
feat: add Proxy-Status header for better error response
2025-04-05 13:43:39 -05:00
Laurence Isla and GitHub
0b618d0bef
feat: allow spreading one-to-many and many-to-many embedded resources
...
* Note: Aggregates are not implemented
2025-03-24 14:45:56 +00:00
Taimoor Zaeem and GitHub
fdc26d52fc
fix: empty error messages for disabled openapi and /invalid/nested/paths
2025-03-21 11:51:40 -05:00
Taimoor Zaeem and Steve Chavez
fc35d6d0f8
fix: Fix ordering with mutation queries
2025-03-17 14:13:34 +01:00
Taimoor Zaeem and Steve Chavez
36b6a2c86b
fix: improve jwt errors
2025-03-13 00:20:54 +01:00
Taimoor Zaeem and GitHub
c9a625ced6
feat: Log PoolRequest and PoolRequestFullfilled observations ( #3925 )
2025-02-28 12:01:10 -05:00
Taimoor Zaeem and GitHub
390ba19932
fix: handle queries on non-existing table gracefully
2025-02-21 13:49:54 -05:00
Laurence Isla and GitHub
9c880c082a
feat: allow logging the SQL query to stderr
...
- Logs the main SQL query when `log-query=main-query`.
- Only logs at the current `log-level`.
2025-02-18 19:17:26 -05:00
Steve Chavez and GitHub
307692c325
break: remove limited updated/delete feature ( #3907 )
...
BREAKING CHANGE
As agreed on https://github.com/PostgREST/postgrest/issues/3013#issuecomment-1770186262 ,
this removes the limited update/delete feature.
The feature was complicated, largely unused and caused other bugs in
mutations.
It was added in #2195 and #2211 .
2025-02-12 14:48:08 -05:00
M. Taimoor Zaeem and Wolfgang Walther
e4f3c2cf3b
changelog: Add v12.2.8
2025-02-11 21:27:53 +01:00
M. Taimoor Zaeem and Steve Chavez
c96dc3ee90
fix: log 503 client error to stderr
2025-02-08 21:08:29 -05:00
Wolfgang Walther
db85e64971
changelog: Add v12.2.7
2025-02-03 18:40:45 +01:00