Skip to content

Releases: supabase/supavisor

v1.0.0

08 Dec 19:09
02bf93e
Compare
Choose a tag to compare

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

Full Changelog: v0.9.0...v1.0.0

v0.9.0

10 Aug 15:43
30054b0
Compare
Choose a tag to compare

Notable

  • SSL support upstream and downstream - clients can connect with SSL and SCRAM-SHA-256 authentication
  • Optionally enforce SSL connections - set enforce_ssl to true on the tenant to force clients to connect with SSL
  • Authentication query support like PgBouncer - define an auth_query on the tenant to authenticate users dynamically
  • Metrics endpoint per tenant - /metrics/:external_id will respond with metrics filtered for a single tenant by external_id
  • Region and instance id metadata in logs - filter your logs easily by region or instance_id
  • Optionally limit client connections per tenant - set default_max_clients on the tenant and optionally max_clients on the user 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

v0.1.0

07 Apr 16:12
537397d
Compare
Choose a tag to compare
  • 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