v0.29.0
π Features
- feat(rpc): support querying by unique fields #1972
- feat(rpc): change default project to include many-to-one fields #1976
- feat(rpc): support delete mutation #1995
- feat(rpc): remove overloading of get/delete methods #1997
- feat(rpc): schema generation without oneOf #1998
- feat(rpc): support update mutations #1999
- feat(rpc): support create mutation #2000
- feat(rpc): allow create and update mutations to specify nested ops #2001
- feat(rpc): support batch operations #2009
- feat(rpc): implement parsing support for projection #2017
- feat(deno): make Deno work with react/jsx-email #2032
- feat(rpc): implement projection resolution #2036
- feat(testing): add existing-db-only ephemeral database mode #2039
- feat(rpc): change projection syntax from union (+) to list ([]) #2040
- feat(rpc): support projections on mutation responses #2042
- feat(rpc): support rpc for Deno modules #2058
- feat(rest): drop (wip) REST support #2061
- feat(rpc): support schema retrieval through command #2065
- feat: support command #2074
- feat: replace eslint with oxlint #2090
π Bug Fixes
- fix: accept omitted nullable arguments and variables per GraphQL spec #2101
- fix: treatment of notification and escaping ids #1960
ποΈ Refactoring
- refactor(exo-sql): split into focused sub-crates #2014
- refactor: remove lazy_static with std's LazyLock #2015
- refactor: split into focused AST types #2016
- refactor(exo-sql): make PhysicalColumnType database-agnostic #2018
- refactor(exo-sql): move mapping to exo model string out #2019
- refactor(exo-sql): make core completely database-agnostic #2021
- refactor(exo-sql): make SQL AST and model types database-agnostic #2031
- refactor(exo-sql): merge pg-core and pg-transform into single pg crate #2033
- refactor(exo-sql): make Param a first-class concept in core #2034
- refactor(exo-sql): abstract execution and clean up crate boundaries #2035
- refactor(exo-sql): consolidate extensions into #2038
- refactor(exo-sql): remove unsafe transaction management code #2043
- refactor(exo-sql): drop facade crate, depend on sub-crates directly #2059
- refactor(rpc): remove PostgresRpcSubsystemWithRouter #2066
π§ͺ Testing
- test: fix variable substitution #1974
- test(rpc): align rpc tests in basic-model-* with GraphQL #2010
- test(rpc): align many other rpc tests with GraphQL #2011
- test(rpc): align all remaining rpc tests with GraphQL #2013
- test(exo-sql): add integration testing framework #2064
π· CI/CD
- ci: use --locked to Cargo to avoid CI drifts from local builds #1975
π§ Maintenance
- fix(deps): bump worker from 0.7.4 to 0.7.5 #1970
- fix(deps): bump serde-saphyr from 0.0.20 to 0.0.21 #1969
- fix(deps): bump the wasm group with 5 updates #1967
- fix(deps): bump which from 8.0.0 to 8.0.1 #1987
- fix(deps): bump toml from 1.0.4+spec-1.1.0 to 1.0.6+spec-1.1.0 #1986
- fix(deps): bump uuid from 1.21.0 to 1.22.0 #1985
- fix(deps): bump which from 8.0.1 to 8.0.2 #1994
- fix(deps): bump cc from 1.2.56 to 1.2.57 #2005
- fix(deps): bump tracing-subscriber from 0.3.22 to 0.3.23 in the tracing group #2004
- fix(deps): bump clap from 4.5.60 to 4.6.0 #2006
- fix(deps): bump lambda_runtime from 1.0.2 to 1.1.1 #2007
- fix(rpc): enforce field-level access on restricted fields #2012
- fix(deps): bump zip from 8.2.0 to 8.3.1 #2030
- fix(deps): bump the wasmtime group with 2 updates #2025
- fix(deps): bump serde-saphyr from 0.0.21 to 0.0.22 #2028
- fix(deps): bump toml from 1.0.6+spec-1.1.0 to 1.0.7+spec-1.1.0 #2029
- fix(deps): bump rexpect from 0.6.3 to 0.7.0 #2027
- fix(rpc): projections types in introspection #2041
- fix(deps): bump cc from 1.2.57 to 1.2.58 #2051
- fix(deps): bump the wasm group with 5 updates #2045
- fix(deps): bump ctor from 0.6.3 to 0.8.0 #2050
- fix(deps): bump uuid from 1.22.0 to 1.23.0 #2049
- fix(deps): bump sha2 from 0.10.9 to 0.11.0 #2057
- fix(deps): bump tokio-postgres from 0.7.16 to 0.7.17 in the postgres group #2056
- fix(exo-sql): fix CI release build failures #2060
- fix(deps): bump cc from 1.2.58 to 1.2.59 #2071
- fix(deps): bump serde-saphyr from 0.0.22 to 0.0.23 #2070
- fix(deps): bump tokio from 1.50.0 to 1.51.0 #2069
- fix(deps): bump semver from 1.0.27 to 1.0.28 #2068
- fix(deps): bump the deno group with 5 updates #2067
- fix(deps): bump the deno group with 5 updates #2080
- fix(deps): bump insta from 1.47.1 to 1.47.2 #2084
- fix(deps): bump indexmap from 2.13.0 to 2.14.0 #2081
- fix(deps): bump rand from 0.10.0 to 0.10.1 #2083
- fix(deps): bump tokio from 1.51.0 to 1.51.1 #2082
- fix(deps): bump the deno group with 5 updates #2095
- fix(deps): bump tokio from 1.51.1 to 1.52.1 #2097
- fix(deps): bump toml from 1.1.0+spec-1.1.0 to 1.1.2+spec-1.1.0 #2099
- fix(deps): bump ctor from 0.8.0 to 0.10.1 #2098
- fix(deps): bump the wasmtime group with 2 updates #2096
- fix(deps): bump worker from 0.7.4 to 0.7.5 #1970
- chore(deps): bump @ai-sdk/openai from 3.0.36 to 3.0.37 in /playground/lib #1963
- chore(deps): bump actions/upload-artifact from 6 to 7 #1961
- chore(deps-dev): bump autoprefixer from 10.4.24 to 10.4.27 in /docs in the css-tooling group across 1 directory #1962
- fix(deps): bump serde-saphyr from 0.0.20 to 0.0.21 #1969
- chore(deps-dev): bump @types/node from 25.3.0 to 25.3.3 in /playground/lib #1966
- chore(deps): bump graphiql from 5.1.1 to 5.2.2 in /playground/lib #1964
- chore(deps): bump @ai-sdk/google from 3.0.33 to 3.0.34 in /playground/lib #1965
- fix(deps): bump the wasm group with 5 updates #1967
- chore: cargo update (especially for aws-lc-* crates #1973
- chore: upgrade to Deno 2.7.3 #1971
- fix(deps): bump which from 8.0.0 to 8.0.1 #1987
- chore(deps): bump docker/login-action from 3 to 4 #1977
- chore(deps): bump docker/build-push-action from 6 to 7 #1978
- chore(deps): bump docker/metadata-action from 5 to 6 #1979
- chore(deps-dev): bump @types/node from 25.3.3 to 25.3.5 in /playground/lib #1983
- chore(deps): bump @ai-sdk/google from 3.0.34 to 3.0.43 in /playground/lib #1981
- chore(deps): bump @clerk/themes from 2.4.55 to 2.4.57 in /playground/lib #1982
- chore(deps-dev): bump postcss from 8.5.6 to 8.5.8 in /docs in the css-tooling group across 1 directory #1980
- fix(deps): bump toml from 1.0.4+spec-1.1.0 to 1.0.6+spec-1.1.0 #1986
- fix(deps): bump uuid from 1.21.0 to 1.22.0 #1985
- chore: update playground dependencies #1988
- chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates #1989
- chore(deps): bump the ai group across 1 directory with 2 updates #1990
- fix(deps): bump which from 8.0.1 to 8.0.2 #1994
- chore(deps): bump @clerk/clerk-react from 5.61.1 to 5.61.3 in /playground/lib in the auth group across 1 directory #1991
- chore: upgrade Deno to 2.7.5 #1996
- fix(deps): bump cc from 1.2.56 to 1.2.57 #2005
- chore(deps): bump the ai group across 1 directory with 6 updates #2002
- fix(deps): bump tracing-subscriber from 0.3.22 to 0.3.23 in the tracing group #2004
- fix(deps): bump clap from 4.5.60 to 4.6.0 #2006
- chore(deps): bump @auth0/auth0-react from 2.15.0 to 2.15.1 in /playground/lib in the auth group across 1 directory #2003
- fix(deps): bump lambda_runtime from 1.0.2 to 1.1.1 #2007
- chore(deno): upgrade Deno to 2.7.7 #2020
- fix(deps): bump zip from 8.2.0 to 8.3.1 #2030
- chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates #2022
- chore(deps-dev): bump the css-tooling group across 1 directory with 2 updates #2023
- fix(deps): bump the wasmtime group with 2 updates #2025
- fix(deps): bump serde-saphyr from 0.0.21 to 0.0.22 #2028
- fix(deps): bump toml from 1.0.6+spec-1.1.0 to 1.0.7+spec-1.1.0 #2029
- chore(deps): bump the ai group across 1 directory with 7 updates #2024
- fix(deps): bump rexpect from 0.6.3 to 0.7.0 #2027
- chore: update Deno to 2.7.8 #2037
- fix(deps): bump cc from 1.2.57 to 1.2.58 #2051
- chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates #2044
- fix(deps): bump the wasm group with 5 updates #2045
- fix(deps): bump ctor from 0.6.3 to 0.8.0 #2050
- fix(deps): bump uuid from 1.22.0 to 1.23.0 #2049
- chore(deps): bump @auth0/auth0-react from 2.15.1 to 2.16.0 in /playground/lib in the auth group across 1 directory #2047
- chore(deps): bump the ai group across 1 directory with 7 updates #2046
- chore: upgrade Deno to 2.7.9 #2052
- fix(deps): bump sha2 from 0.10.9 to 0.11.0 #2057
- fix(deps): bump tokio-postgres from 0.7.16 to 0.7.17 in the postgres group #2056
- chore(deno): upgrade Deno to 2.7.10 #2063
- fix(deps): bump cc from 1.2.58 to 1.2.59 #2071
- fix(deps): bump serde-saphyr from 0.0.22 to 0.0.23 #2070
- fix(deps): bump tokio from 1.50.0 to 1.51.0 #2069
- fix(deps): bump semver from 1.0.27 to 1.0.28 #2068
- fix(deps): bump the deno group with 5 updates #2067
- chore: upgrade Docusaurus to 3.10.0 #2072
- chore: upgrade Typescript docs and playground to 6.0 #2073
- chore: upgrade wasmtime #2075
- chore(deps): bump the react group across 2 directories with 2 updates #2076
- fix(deps): bump the deno group with 5 updates #2080
- fix(deps): bump insta from 1.47.1 to 1.47.2 #2084
- chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates #2077
- chore(deps-dev): bump postcss from 8.5.8 to 8.5.9 in /docs in the css-tooling group across 1 directory #2078
- fix(deps): bump indexmap from 2.13.0 to 2.14.0 #2081
- fix(deps): bump rand from 0.10.0 to 0.10.1 #2083
- fix(deps): bump tokio from 1.51.0 to 1.51.1 #2082
- chore(deps): bump the ai group across 1 directory with 7 updates #2087
- chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates #2085
- chore(deps-dev): bump the css-tooling group across 1 directory with 2 updates #2086
- chore: update to Rust 1.95 #2089
- fix(deps): bump the deno group with 5 updates #2095
- chore(deps): bump @auth0/auth0-react from 2.16.1 to 2.16.2 in /playground/lib in the auth group across 1 directory #2092
- fix(deps): bump tokio from 1.51.1 to 1.52.1 #2097
- chore(deps-dev): bump typescript from 6.0.2 to 6.0.3 in /playground/lib #2094
- fix(deps): bump toml from 1.1.0+spec-1.1.0 to 1.1.2+spec-1.1.0 #2099
- chore(deps-dev): bump typescript from 6.0.2 to 6.0.3 in /docs #2093
- fix(deps): bump ctor from 0.8.0 to 0.10.1 #2098
- chore(deps-dev): bump the css-tooling group across 1 directory with 2 updates #2091
- fix(deps): bump the wasmtime group with 2 updates #2096
π Other Changes
- Fix cargo shear warnings #2062