Releases: supabase/supavisor
Releases · supabase/supavisor
v1.0.0
Notable
- Added support for named prepared statements
- Added support for read replicas and query load balancing
- Added a client_idle_timeout option
- New docs build process and website (Github hosted)
- Docs for migrating from PgBouncer
- auth_query with md5 support
native
pool_mode to proxy direct connections to Postgres- New metric for unique connected tenants
- Cache metadata database queries for faster tenant info lookups
- Bug fixes
What's Changed
- feat: added a metric for the number of connected tenants by @abc3 in #154
- fix: scram channel binding by @abc3 in #157
- fix: the total count of connected clients for a tenant by @abc3 in #155
- fix: display 0 in the supavisor_connections field after the last disconnection by @abc3 in #158
- feat: add a mode type to the pool id by @abc3 in #160
- chore: publish a tarball to prod by @abc3 in #161
- feat: add client_idle_timeout option by @abc3 in #165
- chore: update GH actions dependencies by @delgado3d in #166
- chore: bump ecto_sql and logflare_logger_backend by @abc3 in #170
- feat: add an option to set the pool's strategy, default is fifo by @abc3 in #173
- feat: support auth_query with md5 by @abc3 in #175
- fix: error message during md5 auth by @abc3 in #177
- fix: cache for user query, server_name_indication, change log level by @abc3 in #179
- fix: add sni in get_secrets by @abc3 in #181
- fix: host in db_handler is already a charlist by @abc3 in #182
- chore: move docs to mkdocs by @chasers in #186
- docs: auto publish docs on main by @chasers in #189
- fix: install mkdocs-material by @chasers in #192
- docs: more docs by @chasers in #190
- feat: add gh workflow by @J0 in #180
- feat: add native mode by @abc3 in #188
- fix: handle http request in the native mode by @abc3 in #193
- feat: handle cancelling requests by @abc3 in #194
- fix: prevent client <-> db locking by @abc3 in #195
- fix: update doc links by @abc3 in #198
- fix: docs set defaults on tenant for example by @chasers in #199
- fix: docs enumerate tenant and user configs with auth_query by @chasers in #201
- feat: add metrics for connection success/failure and improve error handling by @abc3 in #200
- fix: add docs for migrating from pgbouncer by @chasers in #205
- chore: change from native mode to session mode by @abc3 in #210
- feat: handling of named prepared statements by @abc3 #207
- feat: add support for read replicas by @abc3 in #162
New Contributors
- @delgado3d made their first contribution in #166
Full Changelog: v0.9.0...v1.0.0
v0.9.0
Notable
- SSL support upstream and downstream - clients can connect with SSL and SCRAM-SHA-256 authentication
- Optionally enforce SSL connections - set
enforce_ssl
totrue
on thetenant
to force clients to connect with SSL - Authentication query support like PgBouncer - define an
auth_query
on thetenant
to authenticate users dynamically - Metrics endpoint per tenant -
/metrics/:external_id
will respond with metrics filtered for a singletenant
byexternal_id
- Region and instance id metadata in logs - filter your logs easily by
region
orinstance_id
- Optionally limit client connections per tenant - set
default_max_clients
on thetenant
and optionallymax_clients
on theuser
to limit inbound connections per tenant
What's Changed
- docs(openapi): match tenant update implementation by @ChristianAlexander in #65
- New logo 🔥 by @chasers in #71
- Implement multiple pools per tenant by @abc3 in #73
- fix the 'list tenants' endpoint by @abc3 in #84
- Implement session mode functionality by @abc3 in #79
- Implement Websocket proxy by @abc3 in #82
- feat: handle MD5 authentication by @altjohndev in #89
- feat: add version check to CI via VERSION file by @J0 in #78
- Add logflare support by @abc3 in #96
- Systemd service by @abc3 in #95
- Handle http request by @abc3 in #98
- Add prefix to migration AddTimeoutToUsers by @acco in #99
- Add credo config by @abc3 in #108
- Prevent linking to the db process on startup when transaction mode by @abc3 in #107
- Check creds before adding to db and wait timeout for cold start by @abc3 in #101
- Add Postgres strategy for libcluster by @abc3 in #110
- chore: set min/max values for inet_dist_listen by @abc3 in #113
- Add connection pool stop on db credential change by @abc3 in #114
- chore: add prefix to osmon metrics by @abc3 in #117
- chore: support ipv4 and ipv6 for tenant's db by @abc3 in #115
- fix: pg version without platform by @abc3 in #118
- feat: add mix tasks for generating release artifacts by @abc3 in #119
- SSL support for upstream connections by @abc3 in #124
- SSL support for downstream connections by @abc3 in #129
- Option to allow only SSL connection by @abc3 in #130
- feat: auth_query support by @abc3 in #132
- fix: start proxy on two ports by @abc3 in #136
- fix: update the query for retrieving user creds by @abc3 in #137
- fix: use username from the connection in process names by @abc3 in #141
- feat: add region and instance id to logger by @abc3 in #142
- feat: limit client connections by @abc3 in #144
- feat: api endpoint to terminate tenancy tree connection by @abc3 in #145
- fix: query count and network usage metrics by @abc3 in #149
- feat: metric endpoint per tenant by @abc3 in #147
New Contributors
- @kiwicopple made their first contribution in #53
- @MildTomato made their first contribution in #62
- @zorbash made their first contribution in #64
- @ChristianAlexander made their first contribution in #66
- @altjohndev made their first contribution in #89
- @J0 made their first contribution in #78
v0.1.0
- Connect to multiple different Postgres instances/clusters
- Transaction pooling
- Cluster-able
- Resilient during cluster resizing
- Supports rolling and blue/green deployment strategies
- NOT run in a serverless environment
- NOT dependent on Kubernetes
- Easily understand throughput by a tenant, tenant database or individual connection
- Prometheus /metrics endpoint
- OpenAPI spec at /api/openapi
- SwaggarUI at /swaggerui
- When deployed as a Supavisor cluster and a node dies connection pools should be quickly spun up or already available on other nodes when clients reconnect
- Connection buffering
- Brief connection buffering for transparent database restarts or failovers