- c8dffce: Added context passing functions in buildView
- 44c0aa1: Fixed comparison filter, added playground link
- d54d0aa: Added load function to buildView
- 083bc12: Allowing WITH queries to be used in select
- e101dd8: Added auth constraints in buildView
-
164870e: Added index in virtual field resolve args
BREAKING CHANGE: Removed
virtualFieldLoaders
option.Also, don't forget to enable
orFilterFilter: true
inmakeQueryLoader
options if you want to keep using theOR
filters. They're disabled by default now.
-
f73a0a9: Added virtual field loaders. These are meant to allow efficient loading of data, for multiple rows at once. Instead of fetching data in the virtual field resolver, one row at a time, you can use a virtual field loader, and then have access to the data in the 3rd argument of the resolver.
virtualFieldLoaders: { posts: async (rows) => { const allPosts = await fetchPostsForAuthors(rows.map(row => row.id)); return allPosts; }, }, virtualFields: { posts: { dependencies: ["id"], resolve: (row, args, posts) => { return posts.filter(post => post.authorId = row.id) } } },
- e6ad803: Added buildView utilty for building easier filters. Backwards compatible change but deprecated older method for creating filters.
- e934989: fix: Fixed virtual fields transform columns
- c79cd97: feat: Added the ability to transform sql column names
- d4c55ad: Fixed rowsToArray utility function
- 2770420: Breaking change: Changed virtual fields resolver 2nd argument to take full args instead of just context
- 0c86154: Increased test coverage
- 7b1cb0d: Minor bugfixes
- cb48c1a: Fixed benchmark types
- 6649ad7: Added benchmarking of fields
- 0074ae3: Added runConcurrency option
- bff0e7f: Added contextFactory and count overwriting in plugins
- 6984f94: Added plugins
- 8518113: Added DISTINCT ON support
-
8402cef: BREAKING CHANGE:
getQuery
is now asynchronous.Filter interpreters can be asynchronous.
- 1fd49a8: Fixed nullable columns cursor pagination
-
ef0393f: ## Breaking Changes
- Removed old query fragment option.
- Specify query as an object with
select
,from
, andgroupBy
keys.
- 0ca01d2: Added groupBy option for query, deprecated old method of declaring queries
- 19cbf89: Added constraints option for authorization
- 636d400: BREAKING CHANGE: Renamed
edges
tonodes
inloadPagination
result
- 73b74e2: Added zod any support, and sqlite experimental support
- c66a58d: Added runtime checking of result rows
- 6e5a2da: Changed cursors to encode json objects instead of arrays
-
5a28e4f: BREAKING CHANGES in loadPagination:
- Added
pageInfo
object, moved all pageInfo related keys in pageInfo. - Added cursors array, when takeCursors is specified.
- Added
- b3ac708: Added limit to pagination take API
- 084d970: Fixed cursor pagination query
- 8d0a58f: Added base64 opaque cursors
- d8e05a6: Improved type inference
- 289dc27: - Added option to disable recursive filters in public API
- Added default orderBy
- Added debugging SQL queries with DEBUG=slonik-trpc
- f9c9fec: Added context parameter to virtual field resolvers
- 7675fa8: Removed postprocessing option
- 3ef653f: Removed exclude and require options
- bb218ec: Added column groups
-
b1736ab: - Improved performance of virtual fields
- Added searchAfter in loadArgs
- f412249: Added cursor-based pagination
- 991910c: Improved sorting API
- 9798512: Added support for sorting by multiple columns.
- ccf3bce: Added async promises to virtual fields
- b81776b: Added default excluded columns Added merge filters utility Added slonik-trpc/utils import Added type checking interceptor
- 0d2de08: Added createFilter helper method Added helper methods for creating filters