From 922b1158e027203b3549992076fd5065649e50c5 Mon Sep 17 00:00:00 2001 From: "supabase-py-releaser[bot]" <254608689+supabase-py-releaser[bot]@users.noreply.github.com> Date: Tue, 3 Nov 2026 16:41:27 +0000 Subject: [PATCH] chore(main): release 2.34.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 111 ++++++++++++++++++ src/auth/pyproject.toml | 2 +- src/auth/src/supabase_auth/version.py | 2 +- src/functions/pyproject.toml | 2 +- .../src/supabase_functions/version.py | 2 +- src/postgrest/pyproject.toml | 2 +- src/postgrest/src/postgrest/version.py | 2 +- src/realtime/pyproject.toml | 2 +- src/realtime/src/realtime/version.py | 2 +- src/storage/pyproject.toml | 2 +- src/storage/src/storage3/version.py | 2 +- src/supabase/pyproject.toml | 14 +-- src/supabase/src/supabase/version.py | 2 +- 14 files changed, 130 insertions(+), 19 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b7bb41953..4d706086c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.33.0" + ".": "2.34.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 610d71d29..fe742f144 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,116 @@ # Changelog +## [2.34.0](https://github.com/supabase/supabase-py/compare/v2.33.0...v2.34.0) (2026-11-03) + + +### Features + +* drop support for python 3.9 and 3.10 ([#1915](https://github.com/supabase/supabase-py/issues/1915)) ([37786ed](https://github.com/supabase/supabase-py/commit/37786ed20746d50997b7b1b35af769f69506bc37)) +* **examples:** add FastAPI Realtime Rule Engine example ([#1519](https://github.com/supabase/supabase-py/issues/1519)) ([6449e1e](https://github.com/supabase/supabase-py/commit/6449e1e540bd8538e7701eb15bf2666d13bdf341)) +* **postgrest:** add client-level retry toggle ([#1900](https://github.com/supabase/supabase-py/issues/1900)) ([e1916b5](https://github.com/supabase/supabase-py/commit/e1916b59c5b64534347716a5f4072464a68fe4df)), closes [#1561](https://github.com/supabase/supabase-py/issues/1561) +* **postgrest:** add strip_nulls() ([#1760](https://github.com/supabase/supabase-py/issues/1760)) ([c86ec9f](https://github.com/supabase/supabase-py/commit/c86ec9fc538ffc985d5da6961cdb24e629f974ae)) +* **realtime:** add explicit REST API call for broadcast ([#1256](https://github.com/supabase/supabase-py/issues/1256)) ([deec947](https://github.com/supabase/supabase-py/commit/deec947192c42da9aa2ae2d7a5d87bd257b93faa)) + + +### Bug Fixes + +* **auth:** accept oauth clients without a name ([#1830](https://github.com/supabase/supabase-py/issues/1830)) ([936458e](https://github.com/supabase/supabase-py/commit/936458ed0651309927e96cf801f881b3e72d5206)) +* **auth:** accept pending secure email confirmations ([#1845](https://github.com/supabase/supabase-py/issues/1845)) ([1e0c262](https://github.com/supabase/supabase-py/commit/1e0c26226c4ef0dd47c9a6e357380a95de20056a)) +* **auth:** avoid cancelling the running refresh callback ([#1716](https://github.com/supabase/supabase-py/issues/1716)) ([606e0ac](https://github.com/supabase/supabase-py/commit/606e0ac34189e9f9bf04bcc441c8aa326931d8e3)) +* **auth:** copy query_params in link_identity ([#1879](https://github.com/supabase/supabase-py/issues/1879)) ([36e9952](https://github.com/supabase/supabase-py/commit/36e995295391ceb3fca2250391bb326374501416)) +* **auth:** emit PASSWORD_RECOVERY from verify_otp ([#1743](https://github.com/supabase/supabase-py/issues/1743)) ([b571cc2](https://github.com/supabase/supabase-py/commit/b571cc209cab8df7377c5c007d413b9c8973a778)) +* **auth:** emit SIGNED_IN when set_session keeps a valid token ([#1749](https://github.com/supabase/supabase-py/issues/1749)) ([9c092db](https://github.com/supabase/supabase-py/commit/9c092dbd46caa54df61b2bdfe6fd027031ab7d2f)) +* **auth:** handle empty OAuth client lists ([#1736](https://github.com/supabase/supabase-py/issues/1736)) ([7d68e6b](https://github.com/supabase/supabase-py/commit/7d68e6b2e5948a89c9d0e927166dc218d886f91d)) +* **auth:** keep existing session in sign-up and sign-in methods ([#1935](https://github.com/supabase/supabase-py/issues/1935)) ([c3fa0f1](https://github.com/supabase/supabase-py/commit/c3fa0f19bf29df3ec4e9296a00fc58f5cf80689e)) +* **auth:** keep existing session when verify_otp does not return one ([#1933](https://github.com/supabase/supabase-py/issues/1933)) ([cae942d](https://github.com/supabase/supabase-py/commit/cae942dc4151605317d087debd88c0c67d05371e)) +* **auth:** keep expired session in initialize_from_storage when auto refresh is off ([#1938](https://github.com/supabase/supabase-py/issues/1938)) ([1436832](https://github.com/supabase/supabase-py/commit/14368323dd5fc2e6ed40209a42234143c17d31e4)) +* **auth:** keep or clear the session by scope when sign out fails ([#1824](https://github.com/supabase/supabase-py/issues/1824)) ([de9932e](https://github.com/supabase/supabase-py/commit/de9932e6f6db0b3f4eaaea258771094edebea629)) +* **auth:** make code_verifier optional in CodeExchangeParams ([#1922](https://github.com/supabase/supabase-py/issues/1922)) ([0b1d490](https://github.com/supabase/supabase-py/commit/0b1d490c94aca0824fbd99cc18781048c02a9fb6)) +* **auth:** map httpx transport errors to AuthRetryableError ([#1808](https://github.com/supabase/supabase-py/issues/1808)) ([901f00d](https://github.com/supabase/supabase-py/commit/901f00d8bb908410c9a4707c30cde6f834008329)) +* **auth:** normalize trailing slash in base URL ([#1766](https://github.com/supabase/supabase-py/issues/1766)) ([de040ec](https://github.com/supabase/supabase-py/commit/de040ececba0effe0ef6d1cfa7f4dacf78ebf98e)) +* **auth:** preserve phone numbers in MFA factor responses ([#1837](https://github.com/supabase/supabase-py/issues/1837)) ([0e1cf4c](https://github.com/supabase/supabase-py/commit/0e1cf4c2013505d6601f07f4b16c0417a7aa6b67)) +* **auth:** preserve the PKCE recovery event ([#1906](https://github.com/supabase/supabase-py/issues/1906)) ([cd0c4a3](https://github.com/supabase/supabase-py/commit/cd0c4a3bfd29a0f1416d2dabfd59a30dd4cc106c)) +* **auth:** preserve the server error message on retryable 5xx responses ([#1833](https://github.com/supabase/supabase-py/issues/1833)) ([c1727d5](https://github.com/supabase/supabase-py/commit/c1727d53a3837ec4bcc7f05be6286c96e373c3fc)) +* **auth:** raise AuthInvalidJwtError for malformed JWTs in get_claims ([#1871](https://github.com/supabase/supabase-py/issues/1871)) ([1aa8090](https://github.com/supabase/supabase-py/commit/1aa80906cfdb5a389ba6ceaaff9a7ca82328b9cf)) +* **auth:** raise AuthInvalidJwtError for malformed tokens in set_session ([#1920](https://github.com/supabase/supabase-py/issues/1920)) ([301ce7d](https://github.com/supabase/supabase-py/commit/301ce7dbe4930a93c52ffce796b2394e14e73318)) +* **auth:** read implicit grant params from the url fragment ([#1923](https://github.com/supabase/supabase-py/issues/1923)) ([de2c6fc](https://github.com/supabase/supabase-py/commit/de2c6fc52a72e7ec1d4028fb63a4190071fb7d8d)) +* **auth:** require pyjwt>=2.15.1 for security fixes ([#1820](https://github.com/supabase/supabase-py/issues/1820)) ([f41e80e](https://github.com/supabase/supabase-py/commit/f41e80e4c4afa91bbff979685dea0e0c632714b4)) +* **auth:** send one refresh request per auto-refresh tick ([#1854](https://github.com/supabase/supabase-py/issues/1854)) ([bc29bc6](https://github.com/supabase/supabase-py/commit/bc29bc6022646bbe2306c2633271064e410d7983)) +* **auth:** send PKCE challenges for email and SSO flows ([#1682](https://github.com/supabase/supabase-py/issues/1682)) ([66cd7ee](https://github.com/supabase/supabase-py/commit/66cd7ee857ff284212e009b2ae861a2e4adf1a3e)) +* **auth:** stop the admin API from sharing the client's header dict ([#1645](https://github.com/supabase/supabase-py/issues/1645)) ([6b53131](https://github.com/supabase/supabase-py/commit/6b531317f6571de66c0fc23ad93dc9e5a24d1975)) +* **auth:** use inspect.iscoroutinefunction in Timer ([#1875](https://github.com/supabase/supabase-py/issues/1875)) ([4d5d430](https://github.com/supabase/supabase-py/commit/4d5d4301dba4b2c43ca121d9e7208ebbe1c9c5b6)) +* **auth:** validate session and mfa enroll response after field validation ([#1904](https://github.com/supabase/supabase-py/issues/1904)) ([0310467](https://github.com/supabase/supabase-py/commit/031046734b0c1ffc0e220700e95884a773f55382)) +* **functions:** drop the apiKey header on cross host redirects ([#1885](https://github.com/supabase/supabase-py/issues/1885)) ([268557a](https://github.com/supabase/supabase-py/commit/268557aaf6b8cf3d05a5a41e62ff7e7a9ef85435)) +* **functions:** keep the query string when invoking a function ([#1816](https://github.com/supabase/supabase-py/issues/1816)) ([685469c](https://github.com/supabase/supabase-py/commit/685469c4fbde5e09b5cab0c72a3cdf79298c1313)) +* make the capability matrix verifiable ([#1867](https://github.com/supabase/supabase-py/issues/1867)) ([804e7e2](https://github.com/supabase/supabase-py/commit/804e7e2d470fe31840ca8d5a01244df3b1fcaa41)) +* **postgrest:** accept generated typeddict types in insert, upsert and update ([#1939](https://github.com/supabase/supabase-py/issues/1939)) ([1ae57b8](https://github.com/supabase/supabase-py/commit/1ae57b89375e346aea08eab2cf7297e0f5e504d8)) +* **postgrest:** apply normalized timeout to internal httpx clients ([#1758](https://github.com/supabase/supabase-py/issues/1758)) ([774e996](https://github.com/supabase/supabase-py/commit/774e996259f42911d40dcc7fde565e192bf1d0e2)) +* **postgrest:** clear basic auth when selecting bearer auth ([#1713](https://github.com/supabase/supabase-py/issues/1713)) ([32e748b](https://github.com/supabase/supabase-py/commit/32e748b0e979943357495f5557b50a6dc577382a)) +* **postgrest:** describe non-JSON error responses with the decoded body and a string code ([#1912](https://github.com/supabase/supabase-py/issues/1912)) ([dd75df1](https://github.com/supabase/supabase-py/commit/dd75df15232d1d8b74b5bc4de6acbf3ed6371e4c)) +* **postgrest:** drop pydantic v1 compat layer and align pydantic floor ([#1902](https://github.com/supabase/supabase-py/issues/1902)) ([8ddd531](https://github.com/supabase/supabase-py/commit/8ddd531ead4b0e353d76b98fe464e73e5a0dba52)) +* **postgrest:** escape quotes and backslashes in bulk column names ([#1948](https://github.com/supabase/supabase-py/issues/1948)) ([7bebdeb](https://github.com/supabase/supabase-py/commit/7bebdeb411887fc3183db9d1f10dfeb35b811ce1)) +* **postgrest:** json-encode dictionary rpc arguments in get and head requests ([#1899](https://github.com/supabase/supabase-py/issues/1899)) ([86da454](https://github.com/supabase/supabase-py/commit/86da454c6088a82afbecd9188fcbf1723fe0c116)), closes [#1847](https://github.com/supabase/supabase-py/issues/1847) +* **postgrest:** keep the http client and basic auth in schema() ([#1672](https://github.com/supabase/supabase-py/issues/1672)) ([c4e440c](https://github.com/supabase/supabase-py/commit/c4e440ccd102a70f01f050cf0ef3bc4ea3d1925c)) +* **postgrest:** make APIError fields optional so partial error bodies keep their message ([#1732](https://github.com/supabase/supabase-py/issues/1732)) ([18bd628](https://github.com/supabase/supabase-py/commit/18bd62818da822ca0bb6112664072ba275dac9df)) +* **postgrest:** omit columns for empty bulk inserts and upserts ([#1815](https://github.com/supabase/supabase-py/issues/1815)) ([62a4e4d](https://github.com/supabase/supabase-py/commit/62a4e4d24fbf78da644e9950b6dc318e4693b1c7)) +* **postgrest:** preserve chaining after text search ([#1708](https://github.com/supabase/supabase-py/issues/1708)) ([9588283](https://github.com/supabase/supabase-py/commit/958828302d77ed150c446d61f60e30f138e68735)) +* **postgrest:** preserve injected HTTPX client authentication ([#1838](https://github.com/supabase/supabase-py/issues/1838)) ([79d14d9](https://github.com/supabase/supabase-py/commit/79d14d9c6c4cc2b5ddd328217cf7a0b10eb87671)) +* **postgrest:** quote rpc array elements sent on GET and HEAD ([#1762](https://github.com/supabase/supabase-py/issues/1762)) ([1bb870e](https://github.com/supabase/supabase-py/commit/1bb870e07518d3860eb21860d6dff3e3ed4fb42f)) +* **postgrest:** raise on a non-http base_url ([#1881](https://github.com/supabase/supabase-py/issues/1881)) ([610875d](https://github.com/supabase/supabase-py/commit/610875dc747afe487c96ed1f1110d5da401c2fb8)) +* **postgrest:** read the Proxy-Status error code when an error response has no body ([#1621](https://github.com/supabase/supabase-py/issues/1621)) ([34227d1](https://github.com/supabase/supabase-py/commit/34227d1843164265bcedf1c302d66d0a1f2f08d0)) +* **postgrest:** replace conflicting max-affected preferences ([#1827](https://github.com/supabase/supabase-py/issues/1827)) ([5f989e1](https://github.com/supabase/supabase-py/commit/5f989e1e4c6422a83e3f6ef7c25f7136ea0eb2be)) +* **postgrest:** retry GET and HEAD requests on network errors ([#1777](https://github.com/supabase/supabase-py/issues/1777)) ([1113f40](https://github.com/supabase/supabase-py/commit/1113f408d2c25ad326bd5e33f7e15330b8a33b62)) +* **postgrest:** return no count when the total is unknown ([#1892](https://github.com/supabase/supabase-py/issues/1892)) ([3c21359](https://github.com/supabase/supabase-py/commit/3c2135958241adfb1bb62418181449ca0736186a)) +* **postgrest:** send rpc list args as array literals on GET and HEAD ([#1752](https://github.com/supabase/supabase-py/issues/1752)) ([50e7a4c](https://github.com/supabase/supabase-py/commit/50e7a4c2866a668e5248234e9f36034ef7582c09)) +* **postgrest:** serialize null and booleans in in_() like other filters ([#1863](https://github.com/supabase/supabase-py/issues/1863)) ([2cc0e03](https://github.com/supabase/supabase-py/commit/2cc0e032843f6b1ec6ae12726fa28fd98c10d8ad)) +* preserve functions timeout when replacing client options ([#1722](https://github.com/supabase/supabase-py/issues/1722)) ([7fac036](https://github.com/supabase/supabase-py/commit/7fac036f734438e4461628cc07f3b189551778cb)) +* **realtime:** accept postgres change error arrays ([#1908](https://github.com/supabase/supabase-py/issues/1908)) ([9c59f9a](https://github.com/supabase/supabase-py/commit/9c59f9ac2949ef406e7ff1c0a7c7064c2c6c3ce2)) +* **realtime:** call late timeout handlers without a payload ([#1831](https://github.com/supabase/supabase-py/issues/1831)) ([b6ddb74](https://github.com/supabase/supabase-py/commit/b6ddb74b369ea9ccdfc9022368aa872088fa2083)) +* **realtime:** cap reconnect backoff at 60 seconds ([#1768](https://github.com/supabase/supabase-py/issues/1768)) ([23ddbca](https://github.com/supabase/supabase-py/commit/23ddbcaa21035e2d0bd4c8ef4392e231f63dea81)) +* **realtime:** default postgres_changes schema to public ([#1884](https://github.com/supabase/supabase-py/issues/1884)) ([a6e562d](https://github.com/supabase/supabase-py/commit/a6e562d02a99f55310358260251909b2af6d74fd)) +* **realtime:** deliver every broadcast to "*" listeners, ignoring case ([#1818](https://github.com/supabase/supabase-py/issues/1818)) ([eae2838](https://github.com/supabase/supabase-py/commit/eae2838eef450669a49dbaf65900fca867951408)) +* **realtime:** deprecate channel.join() and route it through subscribe ([#1928](https://github.com/supabase/supabase-py/issues/1928)) ([8ac936c](https://github.com/supabase/supabase-py/commit/8ac936cc5d8772cad7586cdd3700065fa8ee7a7a)) +* **realtime:** honor the WebSocket opening timeout ([#1839](https://github.com/supabase/supabase-py/issues/1839)) ([46efa11](https://github.com/supabase/supabase-py/commit/46efa11c2ddca4f835c8045b5b16b7e6a25f41d9)) +* **realtime:** keep postgres bindings and report mismatches on join replies ([#1929](https://github.com/supabase/supabase-py/issues/1929)) ([cfb2159](https://github.com/supabase/supabase-py/commit/cfb215979d52fd20e4476508af1da16274d86e07)) +* **realtime:** keep references to background tasks ([#1888](https://github.com/supabase/supabase-py/issues/1888)) ([f959593](https://github.com/supabase/supabase-py/commit/f959593e906b5a9a5ebc21bae50d5acada434f0a)) +* **realtime:** keep the replacement channel when the old one closes ([#1877](https://github.com/supabase/supabase-py/issues/1877)) ([af1d15d](https://github.com/supabase/supabase-py/commit/af1d15db518e437c047fe03273e76a958ae0dbd0)) +* **realtime:** notify subscribers of channel errors and closure ([#1846](https://github.com/supabase/supabase-py/issues/1846)) ([bcecfc3](https://github.com/supabase/supabase-py/commit/bcecfc3fce1ffbdf6449d1eb637e9f93895f8bc7)) +* **realtime:** reconnect when the server closes the socket normally ([#1675](https://github.com/supabase/supabase-py/issues/1675)) ([4dafafd](https://github.com/supabase/supabase-py/commit/4dafafd76a40ce6a983b3d8d62df19bb629d5a1f)) +* **realtime:** redact api key and access tokens from debug logs ([#1750](https://github.com/supabase/supabase-py/issues/1750)) ([17147f2](https://github.com/supabase/supabase-py/commit/17147f27796751552bad9812799f8bf08171634d)) +* **realtime:** rejoin channels on the stepped schedule ([#1916](https://github.com/supabase/supabase-py/issues/1916)) ([db14ec5](https://github.com/supabase/supabase-py/commit/db14ec512f0113356a2ace99c79c417d45c5b4f5)) +* **realtime:** rejoin the channel after a presence callback is added while joined ([#1686](https://github.com/supabase/supabase-py/issues/1686)) ([697170c](https://github.com/supabase/supabase-py/commit/697170cd45ced706165007614020ae078079ef49)) +* **realtime:** report CHANNEL_ERROR to subscribers when the connection drops ([#1897](https://github.com/supabase/supabase-py/issues/1897)) ([a00d1aa](https://github.com/supabase/supabase-py/commit/a00d1aa026d42fe0d3cd7bee5c40489d082317f7)) +* **realtime:** restart timeout after resending push ([#1654](https://github.com/supabase/supabase-py/issues/1654)) ([da3a353](https://github.com/supabase/supabase-py/commit/da3a353b8bbdff978f13427413913dfe2dffe808)) +* **realtime:** serialize initial websocket handshakes ([#1853](https://github.com/supabase/supabase-py/issues/1853)) ([c5150d6](https://github.com/supabase/supabase-py/commit/c5150d65d83c7c5dda4fd34c625bab4cea2fcb14)) +* **realtime:** use the client timeout for join and leave pushes ([#1685](https://github.com/supabase/supabase-py/issues/1685)) ([198396d](https://github.com/supabase/supabase-py/commit/198396dd242c94d59d742618a28dfcfd44214b01)) +* **realtime:** wait for the join reply in subscribe ([#1940](https://github.com/supabase/supabase-py/issues/1940)) ([c725015](https://github.com/supabase/supabase-py/commit/c725015c0bfc0fe0aac7b7730f7165ff47674aab)) +* **storage:** accept field names in MetadataConfiguration ([#1921](https://github.com/supabase/supabase-py/issues/1921)) ([e0b5716](https://github.com/supabase/supabase-py/commit/e0b5716b5887376320270f770aea20103f1e306c)) +* **storage:** allow null metadata in list_v2 ([#1804](https://github.com/supabase/supabase-py/issues/1804)) ([9d2f19c](https://github.com/supabase/supabase-py/commit/9d2f19cc372da487d50e39c2141cbd33b0b633bf)) +* **storage:** close the upload handle we opened, and only that one ([#1607](https://github.com/supabase/supabase-py/issues/1607)) ([2f3bf40](https://github.com/supabase/supabase-py/commit/2f3bf4003542d72c686cce180b21f4a097fb02a5)) +* **storage:** install the iceberg file backend ([#1873](https://github.com/supabase/supabase-py/issues/1873)) ([b2cbf04](https://github.com/supabase/supabase-py/commit/b2cbf0444c31da59c3a5c13efacd89a950c97caf)) +* **storage:** let upload headers override the client's headers ([#1942](https://github.com/supabase/supabase-py/issues/1942)) ([09855c3](https://github.com/supabase/supabase-py/commit/09855c3ac58392f29bf4cb304649e25a36c7cb69)) +* **storage:** merge a partial sortBy with the default in list ([#1817](https://github.com/supabase/supabase-py/issues/1817)) ([3fb5620](https://github.com/supabase/supabase-py/commit/3fb562072fe47408dc520f15754504d41e998051)) +* **storage:** parse analytics bucket error responses ([#1894](https://github.com/supabase/supabase-py/issues/1894)) ([c5d0149](https://github.com/supabase/supabase-py/commit/c5d014987b17143ec07cc6988c09e696037842e3)) +* **storage:** read object info in exists() so auth and bucket errors raise ([#1825](https://github.com/supabase/supabase-py/issues/1825)) ([980ac9f](https://github.com/supabase/supabase-py/commit/980ac9ff07326606657b829cdd086ba90e21264d)) +* **storage:** require topK in vector index query ([#1946](https://github.com/supabase/supabase-py/issues/1946)) ([a60e0d2](https://github.com/supabase/supabase-py/commit/a60e0d27099bf97a888cdfbe4527d30c881b7a85)) +* **storage:** stop create_client from emitting the timeout deprecation warning ([#1919](https://github.com/supabase/supabase-py/issues/1919)) ([3349ad8](https://github.com/supabase/supabase-py/commit/3349ad842dbc998d8e68dbe64f2331a86e487993)) +* **supabase:** keep postgrest and storage timeouts in replace() ([#1809](https://github.com/supabase/supabase-py/issues/1809)) ([795cad4](https://github.com/supabase/supabase-py/commit/795cad428521ac0463fd5283205378edb04b0951)) +* **supabase:** keep the session token on every auth event that has one ([#1856](https://github.com/supabase/supabase-py/issues/1856)) ([ca2fb99](https://github.com/supabase/supabase-py/commit/ca2fb998b333213af8e70862309309d72ff0cebf)) +* **supabase:** reject non-string url and key in create_client ([#1926](https://github.com/supabase/supabase-py/issues/1926)) ([030cbc9](https://github.com/supabase/supabase-py/commit/030cbc9ca3ccebe80421560c760bbd6003bf2162)) +* **supabase:** replace() preserves postgrest and storage timeouts ([#1840](https://github.com/supabase/supabase-py/issues/1840)) ([772ee24](https://github.com/supabase/supabase-py/commit/772ee245be48ad7d91dd6341797c336c937d4f11)) + + +### Performance Improvements + +* **postgrest:** speed up JSON parsing by 22x using json.loads ([#1571](https://github.com/supabase/supabase-py/issues/1571)) ([c56c5bb](https://github.com/supabase/supabase-py/commit/c56c5bbabdf5c57c57262e69a72af0c3038fc9f5)) + + +### Documentation + +* add support policy ([#1917](https://github.com/supabase/supabase-py/issues/1917)) ([f1392d4](https://github.com/supabase/supabase-py/commit/f1392d4363bab811fde155b5cbac36d63097b9f3)) +* Clarify when get_user() returns None ([#1569](https://github.com/supabase/supabase-py/issues/1569)) ([3d8417f](https://github.com/supabase/supabase-py/commit/3d8417f17730774df84969831799adb484b736d7)) +* document SDK compatibility with Supabase services ([#1870](https://github.com/supabase/supabase-py/issues/1870)) ([1ff1e4a](https://github.com/supabase/supabase-py/commit/1ff1e4aa533dfcc1e6ce81f3be2924f76329b1e8)) + ## [2.33.0](https://github.com/supabase/supabase-py/compare/v2.32.0...v2.33.0) (2026-10-15) diff --git a/src/auth/pyproject.toml b/src/auth/pyproject.toml index 41380946e..51d993ac3 100644 --- a/src/auth/pyproject.toml +++ b/src/auth/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "supabase_auth" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} description = "Python Client Library for Supabase Auth" authors = [ {name = "Joel Lee", email = "joel@joellee.org" } diff --git a/src/auth/src/supabase_auth/version.py b/src/auth/src/supabase_auth/version.py index 49e544637..00e7dd0df 100644 --- a/src/auth/src/supabase_auth/version.py +++ b/src/auth/src/supabase_auth/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version} diff --git a/src/functions/pyproject.toml b/src/functions/pyproject.toml index 93e26da28..12959f9f7 100644 --- a/src/functions/pyproject.toml +++ b/src/functions/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "supabase_functions" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} description = "Library for Supabase Functions" authors = [ { name = "Joel Lee", email = "joel@joellee.org" }, diff --git a/src/functions/src/supabase_functions/version.py b/src/functions/src/supabase_functions/version.py index 49e544637..00e7dd0df 100644 --- a/src/functions/src/supabase_functions/version.py +++ b/src/functions/src/supabase_functions/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version} diff --git a/src/postgrest/pyproject.toml b/src/postgrest/pyproject.toml index 7f9ed3f1a..5459a700e 100644 --- a/src/postgrest/pyproject.toml +++ b/src/postgrest/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "postgrest" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} description = "PostgREST client for Python. This library provides an ORM interface to PostgREST." authors = [ { name = "Lương Quang Mạnh", email = "luongquangmanh85@gmail.com"}, diff --git a/src/postgrest/src/postgrest/version.py b/src/postgrest/src/postgrest/version.py index 49e544637..00e7dd0df 100644 --- a/src/postgrest/src/postgrest/version.py +++ b/src/postgrest/src/postgrest/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version} diff --git a/src/realtime/pyproject.toml b/src/realtime/pyproject.toml index 35a93f0b3..b4e0389fc 100644 --- a/src/realtime/pyproject.toml +++ b/src/realtime/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "realtime" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} description = "" authors = [ { name = "Joel Lee", email="joel@joellee.org"}, diff --git a/src/realtime/src/realtime/version.py b/src/realtime/src/realtime/version.py index 49e544637..00e7dd0df 100644 --- a/src/realtime/src/realtime/version.py +++ b/src/realtime/src/realtime/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version} diff --git a/src/storage/pyproject.toml b/src/storage/pyproject.toml index 117cbdc68..051d22c0c 100644 --- a/src/storage/pyproject.toml +++ b/src/storage/pyproject.toml @@ -18,7 +18,7 @@ classifiers = [ ] license = "MIT" readme = "README.md" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} requires-python = ">=3.11" dependencies = [ diff --git a/src/storage/src/storage3/version.py b/src/storage/src/storage3/version.py index 49e544637..00e7dd0df 100644 --- a/src/storage/src/storage3/version.py +++ b/src/storage/src/storage3/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version} diff --git a/src/supabase/pyproject.toml b/src/supabase/pyproject.toml index f83dd07c3..d6a69a224 100644 --- a/src/supabase/pyproject.toml +++ b/src/supabase/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "supabase" -version = "2.33.0" # {x-release-please-version} +version = "2.34.0" # {x-release-please-version} description = "Supabase client for Python." authors = [ { name = "Joel Lee", email = "joel@joellee.org" }, @@ -22,11 +22,11 @@ classifiers = [ ] requires-python = ">=3.11" dependencies = [ - "realtime == 2.33.0", # x-release-please-version - "supabase_functions == 2.33.0", # x-release-please-version - "storage3 == 2.33.0", # x-release-please-version - "supabase_auth == 2.33.0", # x-release-please-version - "postgrest == 2.33.0", # x-release-please-version + "realtime == 2.34.0", # x-release-please-version + "supabase_functions == 2.34.0", # x-release-please-version + "storage3 == 2.34.0", # x-release-please-version + "supabase_auth == 2.34.0", # x-release-please-version + "postgrest == 2.34.0", # x-release-please-version "httpx >=0.26,<0.29", "yarl>=1.22.0", ] @@ -39,7 +39,7 @@ changelog = "https://github.com/supabase/supabase-py/tree/main/CHANGELOG.md" [project.optional-dependencies] iceberg = [ - "storage3[iceberg] == 2.33.0", # x-release-please-version + "storage3[iceberg] == 2.34.0", # x-release-please-version ] [dependency-groups] diff --git a/src/supabase/src/supabase/version.py b/src/supabase/src/supabase/version.py index 49e544637..00e7dd0df 100644 --- a/src/supabase/src/supabase/version.py +++ b/src/supabase/src/supabase/version.py @@ -1 +1 @@ -__version__ = "2.33.0" # {x-release-please-version} +__version__ = "2.34.0" # {x-release-please-version}