Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
506 commits
Select commit Hold shift + click to select a range
16b8dd6
chore(release): 2.80.1 [skip ci]
semantic-release-bot Mar 27, 2026
866abf9
fix: use ECS_CONTAINER_METADATA_URI_V4 to grab public ipv6 on fargate…
edgurgel Mar 27, 2026
4f96ab8
chore(release): 2.80.2 [skip ci]
semantic-release-bot Mar 27, 2026
d78d5b7
chore: update @supabase/supabase-js to v2.101.0 (#1777)
supabase-libs-pr-manager[bot] Mar 30, 2026
c7f0c0d
fix: add random jitter to replication poller (#1780)
edgurgel Mar 31, 2026
da09177
chore(release): 2.80.3 [skip ci]
semantic-release-bot Mar 31, 2026
fff52d1
chore: update @supabase/supabase-js to v2.101.1 (#1779)
supabase-libs-pr-manager[bot] Mar 31, 2026
e70077f
fix: reduce map heap size (#1781)
edgurgel Mar 31, 2026
ed03011
chore(release): 2.80.4 [skip ci]
semantic-release-bot Mar 31, 2026
90cc03a
fix: remove billing metrics join logs (#1783)
filipecabaco Apr 1, 2026
9f8258f
chore(release): 2.80.5 [skip ci]
semantic-release-bot Apr 1, 2026
08381ae
fix: tackle several mini performance improvements (#1782)
filipecabaco Apr 1, 2026
94f5139
chore(release): 2.80.6 [skip ci]
semantic-release-bot Apr 1, 2026
4bc7a38
fix: reduce channel rate limit log cadence (#1784)
filipecabaco Apr 2, 2026
22c3151
chore(release): 2.80.7 [skip ci]
semantic-release-bot Apr 2, 2026
6917846
fix: remove double endpoint for metrics (#1794)
filipecabaco Apr 6, 2026
cc8c4a4
chore(release): 2.80.8 [skip ci]
semantic-release-bot Apr 6, 2026
1ca2af1
fix: emit telemetry for tenant errors (#1792)
filipecabaco Apr 6, 2026
814d474
chore(release): 2.80.9 [skip ci]
semantic-release-bot Apr 6, 2026
369acc9
fix: log rate limit (#1793)
filipecabaco Apr 6, 2026
289cebf
chore(release): 2.80.10 [skip ci]
semantic-release-bot Apr 6, 2026
1abb6a7
fix: remove regional_broadcasting feature flag (#1786)
edgurgel Apr 6, 2026
fcd4ad2
chore(release): 2.80.11 [skip ci]
semantic-release-bot Apr 6, 2026
87d663d
fix: tick most RateCounters every 5 seconds instead of every second (…
edgurgel Apr 6, 2026
216ec31
chore(release): 2.80.12 [skip ci]
semantic-release-bot Apr 6, 2026
5be8315
fix: error metrics reporting properly (#1799)
filipecabaco Apr 7, 2026
b955cc0
chore: update @supabase/supabase-js to v2.102.1 (#1798)
supabase-libs-pr-manager[bot] Apr 7, 2026
f245606
chore(release): 2.80.13 [skip ci]
semantic-release-bot Apr 7, 2026
83da1ae
feat: add connection error backoff (#1801)
edgurgel Apr 8, 2026
b2014c2
chore(release): 2.81.0 [skip ci]
semantic-release-bot Apr 8, 2026
1d0821d
fix: reduce connects rate limit (#1800)
edgurgel Apr 8, 2026
4c322bd
chore(release): 2.81.1 [skip ci]
semantic-release-bot Apr 8, 2026
8d87c2f
feat: change ReplicationPoller to sleep more when there are no change…
edgurgel Apr 8, 2026
5c13429
chore(release): 2.82.0 [skip ci]
semantic-release-bot Apr 8, 2026
cff28a9
chore: update @supabase/supabase-js to v2.103.0 (#1805)
supabase-libs-pr-manager[bot] Apr 9, 2026
bfb0d8f
fix: enable logging on Presence shards (#1804)
edgurgel Apr 9, 2026
d71a132
chore(release): 2.82.1 [skip ci]
semantic-release-bot Apr 9, 2026
d8e0d6f
feat: add channel error backoff (#1806)
edgurgel Apr 9, 2026
675ddf6
chore(release): 2.83.0 [skip ci]
semantic-release-bot Apr 9, 2026
77a21da
fix: add REALTIME_IP_VERSION and auto-detect for ipv4/ipv6 (#1809)
aantti Apr 13, 2026
cad16f2
chore(release): 2.83.1 [skip ci]
semantic-release-bot Apr 13, 2026
1b6175a
chore: use bun lock text file (#1778)
edgurgel Apr 13, 2026
8f00e65
fix: properly clean up subscriptions when oids changed (#1813)
edgurgel Apr 15, 2026
4db7f48
chore(release): 2.83.2 [skip ci]
semantic-release-bot Apr 15, 2026
1fe77e6
chore: update @supabase/supabase-js to v2.103.2 (#1815)
supabase-libs-pr-manager[bot] Apr 15, 2026
cbbb139
fix: extract RealtimeWeb.Socket (#1796)
edgurgel Apr 16, 2026
5deb23e
chore(release): 2.83.3 [skip ci]
semantic-release-bot Apr 16, 2026
922dcb8
feat: split gen rpc pools for calls vs casts (#1818)
edgurgel Apr 16, 2026
da218b7
chore(release): 2.84.0 [skip ci]
semantic-release-bot Apr 16, 2026
29a443d
chore: update @supabase/supabase-js to v2.103.3 (#1817)
supabase-libs-pr-manager[bot] Apr 17, 2026
d048c9e
feat: cache node load to avoid excessive RPC calls (#1816)
edgurgel Apr 17, 2026
314d8ad
chore(release): 2.85.0 [skip ci]
semantic-release-bot Apr 17, 2026
668a635
fix: validate track payload (#1811)
filipecabaco Apr 18, 2026
83b0d30
fix: livedashboard recon & node info (#1810)
filipecabaco Apr 18, 2026
7214f17
chore(release): 2.85.1 [skip ci]
semantic-release-bot Apr 18, 2026
8f14ef7
fix: Connect query_connection_info to run outside of a transaction (#…
edgurgel Apr 18, 2026
7280558
chore(release): 2.85.2 [skip ci]
semantic-release-bot Apr 18, 2026
ca07643
feat: add PartitonedTables (#1819)
edgurgel Apr 19, 2026
a3538e9
chore(release): 2.86.0 [skip ci]
semantic-release-bot Apr 19, 2026
45f02a9
fix: Subscriptions.create transaction should timeout early (#1821)
edgurgel Apr 20, 2026
a736c2a
chore(release): 2.86.1 [skip ci]
semantic-release-bot Apr 20, 2026
514388f
chore: update @supabase/supabase-js to v2.104.0 (#1822)
supabase-libs-pr-manager[bot] Apr 20, 2026
b1dc321
fix: update db_connection to solve slow db pool termination (#1825)
edgurgel Apr 20, 2026
5653f54
chore(release): 2.86.2 [skip ci]
semantic-release-bot Apr 20, 2026
3dc49e1
chore: fix flaky test (#1826)
edgurgel Apr 20, 2026
69ef415
fix: properly match nil errors on user socket (#1827)
filipecabaco Apr 21, 2026
4ab775b
chore(release): 2.86.3 [skip ci]
semantic-release-bot Apr 21, 2026
476f16b
chore: local dev setup (#1823)
leandrocp Apr 21, 2026
ee76679
chore: clean up unused code (#1829)
leandrocp Apr 21, 2026
5c5cdee
chore: update @supabase/supabase-js to v2.104.1 (#1830)
supabase-libs-pr-manager[bot] Apr 23, 2026
b8e126b
chore: add otel support to e2e tests (#1756)
filipecabaco Apr 24, 2026
6dfc8f6
feat: add sql inspector to live dashboard (#1832)
filipecabaco Apr 24, 2026
0e52610
chore(release): 2.87.0 [skip ci]
semantic-release-bot Apr 24, 2026
086d615
feat: improve observability on tenant migrations (#1833)
leandrocp Apr 27, 2026
a9c3cb9
chore(release): 2.88.0 [skip ci]
semantic-release-bot Apr 27, 2026
a514b05
fix: bump up plug cowboy (#1835)
filipecabaco Apr 27, 2026
72915c9
chore(release): 2.88.1 [skip ci]
semantic-release-bot Apr 27, 2026
9fd2b2d
chore: update @supabase/supabase-js to v2.105.0 (#1834)
supabase-libs-pr-manager[bot] Apr 27, 2026
ff292d8
chore: update @supabase/supabase-js to v2.105.1 (#1836)
supabase-libs-pr-manager[bot] Apr 28, 2026
572fb87
fix: SQL query view using proper repo (#1838)
filipecabaco Apr 29, 2026
2ca805f
chore(release): 2.88.2 [skip ci]
semantic-release-bot Apr 29, 2026
ed21de8
feat: add feature flags mechanism to livedashboard (#1831)
filipecabaco Apr 29, 2026
6835f3d
chore(release): 2.89.0 [skip ci]
semantic-release-bot Apr 29, 2026
4ce911f
fix: count connection errors only when an RPC call fails (#1840)
edgurgel May 4, 2026
e036c01
chore(release): 2.89.1 [skip ci]
semantic-release-bot May 4, 2026
df84e75
fix: Database.from_settings/from_tenant can error out (#1841)
edgurgel May 4, 2026
32fa754
chore(release): 2.89.2 [skip ci]
semantic-release-bot May 4, 2026
bbd626e
chore: update @supabase/supabase-js to v2.105.3 (#1844)
supabase-libs-pr-manager[bot] May 4, 2026
5eba693
fix: unblock tenants and make migrations safer (#1839)
leandrocp May 4, 2026
532d946
chore(release): 2.89.3 [skip ci]
semantic-release-bot May 4, 2026
395560e
feat(observability): expose tenant migration metrics (#1845)
leandrocp May 4, 2026
d6aa600
chore(release): 2.90.0 [skip ci]
semantic-release-bot May 4, 2026
0ca9def
fix: add granularity to unable to set policies errors (#1828)
filipecabaco May 4, 2026
4603da6
chore(release): 2.90.1 [skip ci]
semantic-release-bot May 4, 2026
3acaa3c
chore: add tenant migrations telemetry tests (#1846)
leandrocp May 4, 2026
c2c3c12
feat: expose gen_rpc socket configuration (#1848)
edgurgel May 6, 2026
a910f0d
chore(release): 2.91.0 [skip ci]
semantic-release-bot May 6, 2026
3b583d5
feat: watchdog lag detection (#1847)
edgurgel May 6, 2026
89e7158
chore(release): 2.92.0 [skip ci]
semantic-release-bot May 6, 2026
e120044
fix: socket disconnection (#1842)
edgurgel May 6, 2026
59eaead
chore(release): 2.92.1 [skip ci]
semantic-release-bot May 6, 2026
1bbd3cb
fix: gracefully stop on connect error for cdc rls processes (#1850)
edgurgel May 6, 2026
81740e0
chore(release): 2.92.2 [skip ci]
semantic-release-bot May 6, 2026
2d15699
feat: expose cowboy dynamic buffer settings (#1849)
edgurgel May 7, 2026
c7974b4
chore(release): 2.93.0 [skip ci]
semantic-release-bot May 7, 2026
a27ed57
chore: validate nix hash and auto correct (#1851)
filipecabaco May 7, 2026
a41cc15
fix(monitoring): only keep migration events when executed>0 (#1853)
leandrocp May 7, 2026
6692511
chore(release): 2.93.1 [skip ci]
semantic-release-bot May 7, 2026
cc5e1ac
fix: account for replica and repo usage on FeatureFlag management (#1…
edgurgel May 8, 2026
75ca8f1
chore(release): 2.93.2 [skip ci]
semantic-release-bot May 8, 2026
6727e68
chore: fix up flake packaging (#1856)
filipecabaco May 8, 2026
9db73fc
fix: use cache when fetching tenant for broadcast API (#1855)
edgurgel May 8, 2026
11e2a0b
chore(release): 2.93.3 [skip ci]
semantic-release-bot May 8, 2026
016eaf3
chore: update @supabase/supabase-js to v2.105.4 (#1857)
supabase-libs-pr-manager[bot] May 11, 2026
589123f
fix: update `Decimal` and `Postgrex` due to published CVE (#1862)
leandrocp May 12, 2026
cdcd558
chore(release): 2.93.4 [skip ci]
semantic-release-bot May 12, 2026
0071e43
fix: FunctionClauseError on ReconcileMigrations (#1861)
leandrocp May 12, 2026
ec14cca
chore(release): 2.93.5 [skip ci]
semantic-release-bot May 12, 2026
d35bf49
feat: tag metric pusher errors (#1860)
leandrocp May 12, 2026
a3897ed
chore(release): 2.94.0 [skip ci]
semantic-release-bot May 12, 2026
999d8a2
fix: optimise replication poller (#1863)
edgurgel May 13, 2026
fb0a829
chore(release): 2.94.1 [skip ci]
semantic-release-bot May 13, 2026
c258d90
fix: avoid using BatchBroadcast from ReplicationConnection (#1867)
edgurgel May 15, 2026
412a084
chore(release): 2.94.2 [skip ci]
semantic-release-bot May 15, 2026
8f95a2f
fix: update plug (#1870)
edgurgel May 15, 2026
82d175b
chore(release): 2.94.3 [skip ci]
semantic-release-bot May 15, 2026
5e17e8b
chore: actionlint & shellcheck added (#1873)
filipecabaco May 18, 2026
cb903be
chore: update @supabase/supabase-js to v2.106.0 (#1874)
supabase-libs-pr-manager[bot] May 18, 2026
e020cb4
feat: tag tenant migration duration metric with database_region (#1875)
leandrocp May 18, 2026
74c794e
chore(release): 2.95.0 [skip ci]
semantic-release-bot May 18, 2026
e321546
feat(dashboard): tenant migrations page (#1866)
leandrocp May 18, 2026
e3e92b3
chore(release): 2.96.0 [skip ci]
semantic-release-bot May 18, 2026
e1d9c8c
chore(ci): use blacksmith arm runners (#1876)
leandrocp May 18, 2026
b9b8905
fix: cowlib security update (#1878)
leandrocp May 18, 2026
ce7bd50
chore(release): 2.96.1 [skip ci]
semantic-release-bot May 18, 2026
b03eb21
fix(dashboard): tenant migrations on ipv6 hosts (#1877)
leandrocp May 18, 2026
e6c6be1
chore(release): 2.96.2 [skip ci]
semantic-release-bot May 18, 2026
650f156
fix: run nix script in low priv job (#1879)
doublethink May 19, 2026
a6902df
chore: action hardening (#1880)
staaldraad May 19, 2026
76d264e
chore: reduce e2e flakiness & log verbosity (#1881)
filipecabaco May 19, 2026
9ff0d39
chore: tests with pg15 and pg17 (#1882)
filipecabaco May 19, 2026
59e030c
chore: --pgdelta-path in task realtime.export_tenant_db_baseline (#1883)
leandrocp May 19, 2026
15fb66b
chore(release): 2.96.3 [skip ci]
semantic-release-bot May 19, 2026
f0fd4d5
chore: add error logs to e2e (#1886)
filipecabaco May 19, 2026
5fa319f
feat: add POST api/broadcast/:topic/events/:event_name endpoint (#1864)
edgurgel May 20, 2026
b2d87d1
chore(release): 2.97.0 [skip ci]
semantic-release-bot May 20, 2026
2cf98f0
fix: tenant db postgres permissions (#1885)
leandrocp May 20, 2026
7d1d38c
chore(release): 2.97.1 [skip ci]
semantic-release-bot May 20, 2026
585d88e
fix: bump up cowboy (#1893)
filipecabaco May 20, 2026
0229093
chore(release): 2.97.2 [skip ci]
semantic-release-bot May 20, 2026
62ed3de
chore: serialize postgres setup in e2e tests (#1889)
filipecabaco May 20, 2026
6d1807c
chore: auto update tenant db baseline (#1894)
leandrocp May 20, 2026
a28f30e
chore: update tenant_db_baseline.json inline (#1897)
leandrocp May 20, 2026
80b2385
chore: e2e handle errors properly (#1899)
filipecabaco May 20, 2026
52bc6e4
chore: e2e conditional run setup (#1900)
filipecabaco May 20, 2026
fc6fbd8
fix(dashboard): keep rls policies on tenant migrations page (#1898)
leandrocp May 20, 2026
653b32a
chore(release): 2.97.3 [skip ci]
semantic-release-bot May 20, 2026
13f8a0e
chore: ensure compatibility with e2e test env (#1901)
filipecabaco May 20, 2026
7e3622a
chore: test pg14 (#1904)
leandrocp May 22, 2026
1cdd7ea
chore: reduce e2e flakiness (#1905)
filipecabaco May 23, 2026
949e57e
feat: add support to realtime.messages binary payloads (#1869)
edgurgel May 25, 2026
e5bf56f
chore(release): 2.98.0 [skip ci]
semantic-release-bot May 25, 2026
15874bb
fix: channels closing when jwt claims contain decimal number (#1903)
taimoorzaeem May 25, 2026
645c024
chore(release): 2.98.1 [skip ci]
semantic-release-bot May 25, 2026
4e7718e
chore: trigger PR creation for deployment (#1906)
filipecabaco May 25, 2026
11b1775
fix: timing issue on connection disconnect (#1908)
filipecabaco May 25, 2026
20e818e
chore(release): 2.98.2 [skip ci]
semantic-release-bot May 25, 2026
d76625e
fix(dashboard): tenant db connect dns ipv6 (#1910)
leandrocp May 25, 2026
66ad9bc
chore(release): 2.98.3 [skip ci]
semantic-release-bot May 25, 2026
afbedfd
chore: update @supabase/supabase-js to v2.106.2 (#1907)
supabase-libs-pr-manager[bot] May 25, 2026
a3818b0
fix: remove replication_slot_lag_check feature flag (#1911)
edgurgel May 26, 2026
e23f1e0
chore(release): 2.98.4 [skip ci]
semantic-release-bot May 26, 2026
504d9df
feat(dashboard): backfill schema_migrations (#1913)
leandrocp May 26, 2026
d9062b0
chore(release): 2.99.0 [skip ci]
semantic-release-bot May 26, 2026
38acf3b
chore: further reduce flakiness of e2e tests (#1914)
filipecabaco May 26, 2026
9631c63
chore(ci): allow to dispatch deploy from realtime repo (#1915)
leandrocp May 26, 2026
651022c
chore: fix infinite recursion on e2e (#1916)
filipecabaco May 26, 2026
0d13767
feat: AND filters in Postgres Changes (#1912)
filipecabaco May 27, 2026
f6d81ca
chore(release): 2.100.0 [skip ci]
semantic-release-bot May 27, 2026
b98dc37
chore(ci): update github app (#1918)
leandrocp May 27, 2026
c9b1f12
feat: allow select on pg_changes (#1921)
filipecabaco May 28, 2026
c9f84db
chore(release): 2.101.0 [skip ci]
semantic-release-bot May 28, 2026
86d158a
chore: add logs to e2e (#1924)
filipecabaco May 29, 2026
92ed6c6
feat: listen to schema.table with special chars (#1923)
leandrocp May 29, 2026
5c93595
chore(release): 2.102.0 [skip ci]
semantic-release-bot May 29, 2026
747b4aa
fix: prevent usage of select with wildcard; handle edge cases (#1925)
filipecabaco May 29, 2026
729b5fc
chore(release): 2.102.1 [skip ci]
semantic-release-bot May 29, 2026
59f7b22
fix: give up on 6+ failures on ReplicationPoller (#1927)
edgurgel Jun 1, 2026
e3beb20
chore(release): 2.102.2 [skip ci]
semantic-release-bot Jun 1, 2026
469b317
chore: simplify e2e setup (#1926)
filipecabaco Jun 1, 2026
eea36be
fix: pg changes improvements (#1929)
edgurgel Jun 2, 2026
cd952f2
chore(release): 2.102.3 [skip ci]
semantic-release-bot Jun 2, 2026
ca0a9bc
chore: fix flaky tests (#1930)
edgurgel Jun 2, 2026
bf4e517
feat(observability): per-tenant subscription metrics (#1928)
leandrocp Jun 2, 2026
b605b4f
chore(release): 2.103.0 [skip ci]
semantic-release-bot Jun 2, 2026
325c459
chore: update @supabase/supabase-js to v2.107.0 (#1933)
supabase-libs-pr-manager[bot] Jun 2, 2026
ac229d7
fix(jwt): validate exp and iat numeric (#1934)
leandrocp Jun 2, 2026
05784f3
chore(release): 2.103.1 [skip ci]
semantic-release-bot Jun 2, 2026
49bf1f3
fix: add send_binary to avoid ambiguous realtime.send (#1938)
leandrocp Jun 3, 2026
e5ac7e2
chore(release): 2.103.2 [skip ci]
semantic-release-bot Jun 3, 2026
6c43bd3
fix: create messages partitions on tenant health check (#1939)
leandrocp Jun 4, 2026
5749533
chore(release): 2.103.3 [skip ci]
semantic-release-bot Jun 4, 2026
cefe27a
fix: defer replication connection setup on Connect start (#1935)
edgurgel Jun 4, 2026
dd83ed5
chore(release): 2.103.4 [skip ci]
semantic-release-bot Jun 4, 2026
6a879ed
chore: fix nits in ERROR_CODES.md (#1943)
Sukumarsawant Jun 7, 2026
ded4179
feat(dashboard): update pg-delta (#1942)
leandrocp Jun 8, 2026
2b9d563
chore(release): 2.104.0 [skip ci]
semantic-release-bot Jun 8, 2026
e7532bb
fix: revert partition creation on health check (#1945)
leandrocp Jun 8, 2026
4d481e3
chore(release): 2.104.1 [skip ci]
semantic-release-bot Jun 8, 2026
f18d034
fix: warn on db broadcast exception (#1941)
leandrocp Jun 8, 2026
03e2602
chore(release): 2.104.2 [skip ci]
semantic-release-bot Jun 8, 2026
a1e19f0
feat: setup `supabase_realtime_admin` (#1852)
leandrocp Jun 8, 2026
11561ac
chore(release): 2.105.0 [skip ci]
semantic-release-bot Jun 8, 2026
5c51b1d
fix: handle connection closed errors (#1937)
filipecabaco Jun 9, 2026
02f60c5
chore(release): 2.105.1 [skip ci]
semantic-release-bot Jun 9, 2026
9b89ba6
fix: rate limit logs set with info (#1947)
filipecabaco Jun 9, 2026
2488524
chore(release): 2.105.2 [skip ci]
semantic-release-bot Jun 9, 2026
1e5b30a
chore: update @supabase/supabase-js to v2.108.0 (#1944)
supabase-libs-pr-manager[bot] Jun 9, 2026
4b4fd2a
chore: remove e2e unsupported features (#1948)
filipecabaco Jun 10, 2026
89d137d
chore: s/Beacon/Forum.Census/g (#1936)
edgurgel Jun 10, 2026
e629879
chore: e2e aware of development env (#1949)
filipecabaco Jun 10, 2026
25de372
feat: run migration on health check without blocking it - REAL-852 (#…
leandrocp Jun 10, 2026
ae5e31f
chore(release): 2.106.0 [skip ci]
semantic-release-bot Jun 10, 2026
6ff66c4
feat: add secret rotation to API_JWT_SECRET (#1950)
edgurgel Jun 12, 2026
1dd2727
chore(release): 2.107.0 [skip ci]
semantic-release-bot Jun 12, 2026
59199ff
fix: ReplicationPoller consumes slot if publication is not empty (#1919)
edgurgel Jun 12, 2026
dae4aa3
chore(release): 2.107.1 [skip ci]
semantic-release-bot Jun 12, 2026
61c2411
chore: update e2e truncate (#1955)
filipecabaco Jun 12, 2026
d74c2ed
chore: let the connection settle before db action (#1956)
filipecabaco Jun 13, 2026
5bfbef7
fix: log when publication changes on Poller (#1952)
edgurgel Jun 14, 2026
4e5bb61
chore(release): 2.107.2 [skip ci]
semantic-release-bot Jun 14, 2026
a6adf5b
chore: increase warmup on broadcast change (#1957)
filipecabaco Jun 14, 2026
5ebd8b3
chore(ci): dispatch deploy fixes (#1961)
leandrocp Jun 15, 2026
cf2ce35
chore: update @supabase/supabase-js to v2.108.2 (#1960)
supabase-libs-pr-manager[bot] Jun 16, 2026
8afb01d
fix: update gen_rpc to original fork (#1887)
edgurgel Jun 16, 2026
5d7680e
chore(release): 2.107.3 [skip ci]
semantic-release-bot Jun 16, 2026
7632a21
chore(ci): bump create-gh-app-token (#1963)
leandrocp Jun 16, 2026
0a9c70b
chore(ci): mask repo (#1964)
leandrocp Jun 16, 2026
5d6f54a
chore: reduce flaky tests (#1965)
leandrocp Jun 16, 2026
cc5d766
fix: reject broadcast API from suspended tenants (#1958)
edgurgel Jun 16, 2026
6b4916b
chore(release): 2.107.4 [skip ci]
semantic-release-bot Jun 16, 2026
6275961
fix: Reconcile on SubscriptionManager init (#1931)
edgurgel Jun 16, 2026
4e5ea43
chore(release): 2.107.5 [skip ci]
semantic-release-bot Jun 16, 2026
b08d86a
feat: update pgdelta (#1967)
leandrocp Jun 17, 2026
3d022fe
chore(release): 2.108.0 [skip ci]
semantic-release-bot Jun 17, 2026
388992c
feat: introduce least-privilege realtime user (#1954)
leandrocp Jun 18, 2026
a73cb13
chore(release): 2.109.0 [skip ci]
semantic-release-bot Jun 18, 2026
690402a
fix: replication connection increase timeout (#1959)
edgurgel Jun 18, 2026
8ecd17c
chore(release): 2.109.1 [skip ci]
semantic-release-bot Jun 18, 2026
174c9d8
chore: local phoenix dep (#1971)
leandrocp Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .formatter.exs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
import_deps: [:ecto, :ecto_sql, :phoenix, :open_api_spex],
subdirectories: ["priv/*/migrations"],
plugins: [Phoenix.LiveView.HTMLFormatter],
plugins: [],
inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/*seeds*.exs"],
line_length: 120
]
6 changes: 6 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
self-hosted-runner:
labels:
- blacksmith-2vcpu-ubuntu-2404
- blacksmith-4vcpu-ubuntu-2404
- blacksmith-8vcpu-ubuntu-2404
- blacksmith-4vcpu-ubuntu-2404-arm
52 changes: 52 additions & 0 deletions .github/workflows/dispatch_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Dispatch Deploy

on:
workflow_dispatch:
inputs:
version:
description: 'Version to deploy (no leading v). Leave blank to let the downstream pick the latest release. Example: 2.94.1'
required: false
type: string
workflow_call:
inputs:
version:
description: 'Version to deploy (no leading v).'
required: true
type: string

permissions: {}

jobs:
dispatch:
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- name: Fetch target repo
id: target
env:
TARGET_REPO: ${{ secrets.DEPLOY_TARGET_REPO }}
run: |
name="${TARGET_REPO##*/}"
echo "::add-mask::${name}"
echo "name=${name}" >> "$GITHUB_OUTPUT"

- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
client-id: ${{ secrets.GH_APP_MANAGER_ID }}
private-key: ${{ secrets.GH_APP_MANAGER_PRIVATE_KEY }}
owner: supabase
repositories: ${{ steps.target.outputs.name }}

- name: Dispatch version update
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
TARGET_REPO: ${{ secrets.DEPLOY_TARGET_REPO }}
VERSION: ${{ inputs.version }}
SOURCE: ${{ github.event_name == 'workflow_dispatch' && 'manual-dispatch' || 'realtime-release' }}
run: |
gh api "repos/${TARGET_REPO}/dispatches" \
--method POST \
--field event_type=realtime-release \
--field "client_payload[version]=${VERSION}" \
--field "client_payload[source]=${SOURCE}"
44 changes: 44 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Docker Build

on:
pull_request:
branches:
- main

permissions:
contents: read

jobs:
docker_x86_build:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 120
env:
arch: amd64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Setup Blacksmith Builder
uses: useblacksmith/setup-docker-builder@ef12d5b165b596e3aa44ea8198d8fde563eab402 # v1.4.0

- uses: useblacksmith/build-push-action@30c71162f16ea2c27c3e21523255d209b8b538c1 # v2
with:
context: .
push: false
platforms: linux/${{ env.arch }}

docker_arm_build:
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
timeout-minutes: 120
env:
arch: arm64
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Setup Blacksmith Builder
uses: useblacksmith/setup-docker-builder@ef12d5b165b596e3aa44ea8198d8fde563eab402 # v1.4.0

- uses: useblacksmith/build-push-action@30c71162f16ea2c27c3e21523255d209b8b538c1 # v2
with:
context: .
push: false
platforms: linux/${{ env.arch }}
99 changes: 99 additions & 0 deletions .github/workflows/fix-nix-hash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Fix Nix Hash

on:
pull_request:
paths:
- "test/e2e/flake.nix"
- "test/e2e/flake.lock"
- "test/e2e/bun.lock"
- "test/e2e/package.json"
- "test/e2e/nix-build.sh"
- ".github/workflows/fix-nix-hash.yml"

permissions:
contents: read # push uses GH_AUTOFIX app token, not GITHUB_TOKEN

concurrency:
group: fix-nix-hash-${{ github.head_ref }}
cancel-in-progress: true

jobs:
fix-nix-hash:
name: Validate and Fix Nix Hash
runs-on: ubuntu-latest
timeout-minutes: 20
if: github.event.pull_request.head.repo.full_name == github.repository
outputs:
changed: ${{ steps.check-changes.outputs.changed }}

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false

- name: Install Nix
uses: DeterminateSystems/nix-installer-action@da36cb69b1c3247ad7a1f931ebfd954a1105ef14 # v14

- name: Fix Nix hash
working-directory: test/e2e
run: bash nix-build.sh

- name: Check if hash was updated
id: check-changes
run: |
if git diff --quiet test/e2e/flake.nix; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi

- name: Upload updated hash
if: steps.check-changes.outputs.changed == 'true'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: updated-nix-hash
path: test/e2e/flake.nix
retention-days: 1

push-nix-hash:
name: Commit Fixed Nix Hash
needs: fix-nix-hash
runs-on: ubuntu-latest
timeout-minutes: 10
if: needs.fix-nix-hash.outputs.changed == 'true'

steps:
- name: Generate token
id: app-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ secrets.GH_AUTOFIX_APP_ID }}
private-key: ${{ secrets.GH_AUTOFIX_PRIVATE_KEY }}

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.head_ref }}
persist-credentials: false

- name: Download updated hash
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: updated-nix-hash
path: test/e2e

- name: Commit and push updated hash
env:
APP_TOKEN: ${{ steps.app-token.outputs.token }}
TARGET_BRANCH: ${{ github.head_ref }}
run: |
/usr/bin/git config --local user.name "supabase-autofix-bot"
/usr/bin/git config --local user.email "noreply@supabase.com"
/usr/bin/git add test/e2e/flake.nix

if /usr/bin/git diff --cached --quiet; then
exit 0
fi

/usr/bin/git commit -m "chore: update nix node_modules hash"
/usr/bin/git -c credential.helper= push "https://x-access-token:${APP_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" "HEAD:${TARGET_BRANCH}"
56 changes: 56 additions & 0 deletions .github/workflows/forum_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Forum Tests
defaults:
run:
shell: bash
working-directory: ./forum
on:
pull_request:
paths:
- "forum/**"
- ".github/workflows/forum_tests.yml"

push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
MIX_ENV: test

jobs:
tests:
name: Tests & Lint
runs-on: blacksmith-4vcpu-ubuntu-2404

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup elixir
id: beam
uses: erlef/setup-beam@ee09b1e59bb240681c382eb1f0abc6a04af72764 # v1.23.0
with:
otp-version: 27.x # Define the OTP version [required]
elixir-version: 1.18.x # Define the elixir version [required]
- name: Cache Mix
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
forum/deps
forum/_build
key: ${{ github.workflow }}-${{ runner.os }}-mix-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ hashFiles('forum/mix.lock') }}
restore-keys: |
${{ github.workflow }}-${{ runner.os }}-mix-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-
- name: Install dependencies
run: mix deps.get
- name: Start epmd
run: epmd -daemon
- name: Run tests
run: MIX_ENV='test' mix test
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check for warnings
run: mix compile --force --warnings-as-errors
- name: Run format check
run: mix format --check-formatted
88 changes: 88 additions & 0 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Integration Tests
on:
pull_request:
paths:
- "lib/**"
- "test/**"
- "config/**"
- "priv/**"
- "assets/**"
- "rel/**"
- "mix.exs"
- "mix.lock"
- "Dockerfile"
- "run.sh"
- "docker-compose.test.yml"
- ".github/workflows/integration_tests.yml"

push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

env:
DENO_IMAGE: denoland/deno:alpine-2.5.6

jobs:
tests:
name: Tests (${{ matrix.postgres }})
runs-on: blacksmith-8vcpu-ubuntu-2404
env:
POSTGRES_IMAGE: ${{ matrix.postgres_image }}
DB_USER_REALTIME: ${{ matrix.db_user_realtime }}
strategy:
fail-fast: false
matrix:
postgres: [pg14, pg15, pg15_latest, pg17]
include:
- postgres: pg14
postgres_image: supabase/postgres:14.1.0.82
db_user_realtime: supabase_admin
# test before supautils.policy_grants added all necessary grants
- postgres: pg15
postgres_image: supabase/postgres:15.1.0.1
db_user_realtime: supabase_admin
- postgres: pg15_latest
postgres_image: supabase/postgres:15.14.1.129
db_user_realtime: supabase_realtime_admin
- postgres: pg17
postgres_image: supabase/postgres:17.6.1.127
db_user_realtime: supabase_realtime_admin

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Cache Docker images
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
id: docker-cache
with:
path: /tmp/docker-images
key: docker-images-integration-zstd-${{ env.POSTGRES_IMAGE }}-${{ env.DENO_IMAGE }}
- name: Load Docker images from cache
if: steps.docker-cache.outputs.cache-hit == 'true'
run: |
zstd -d --stdout /tmp/docker-images/postgres.tar.zst | docker image load &
PID1=$!
zstd -d --stdout /tmp/docker-images/deno.tar.zst | docker image load &
PID2=$!
wait $PID1 || exit $?
wait $PID2 || exit $?
- name: Pull and save Docker images
if: steps.docker-cache.outputs.cache-hit != 'true'
run: |
docker pull ${{ env.POSTGRES_IMAGE }} &
PID1=$!
docker pull ${{ env.DENO_IMAGE }} &
PID2=$!
wait $PID1 || exit $?
wait $PID2 || exit $?
mkdir -p /tmp/docker-images
docker image save ${{ env.POSTGRES_IMAGE }} | zstd -T0 -o /tmp/docker-images/postgres.tar.zst
docker image save ${{ env.DENO_IMAGE }} | zstd -T0 -o /tmp/docker-images/deno.tar.zst
- name: Run integration test
run: docker compose -f compose.tests.yml up --abort-on-container-exit --exit-code-from test-runner
Loading