-
#6907
990b56291
Thanks @JedWatson! - Addeddb.map
option to lists and fields which adds the@@map
and@map
Prisma attributes respectively -
Updated dependencies [
990b56291
]:- @keystone-next/[email protected]
- Updated dependencies [
fb5b21c03
]:- @keystone-next/[email protected]
-
#6744
0ef1ee3cc
Thanks @bladey! - Renamed branchmaster
tomain
. -
Updated dependencies [
0ef1ee3cc
,bed3a560a
]:- @keystone-next/[email protected]
-
#6409
3ece149e5
Thanks @timleslie! - Upgraded Apollo Server to Version 3.The Apollo documentation contains a full list of breaking changes introduced by this update. You can configure the Apollo Server provided by Keystone using the
graphql.apolloConfig
configuration option.The most prominant change for most users will be that the GraphQL Playground has been replaced by the Apollo Sandbox. If you prefer to keep the GraphQL Playground, you can configure your server by following these instructions.
-
Updated dependencies [
bf331141e
,e747ef6f3
,67492f37d
,b6c8c3bff
]:- @keystone-next/[email protected]
- #6391
bc9088f05
Thanks @bladey! - Adds support forintrospection
in the Apollo Server config. Introspection enables you to query a GraphQL server for information about the underlying schema. If the playground is enabled then introspection is automatically enabled - unless specifically disabled.
- #6443
b45536e22
Thanks @timleslie! - Removed unused dependency@types/webpack
.
-
#6467
e0f935eb2
Thanks @JedWatson! - Add extendExpressApp config option for configuring the express app that Keystone creates -
Updated dependencies [
44f2ef60e
,4f36a81af
,32f024738
,8f2786535
,af5e59bf4
,32f024738
,0a189d5d0
]:- @keystone-next/[email protected]
- Updated dependencies [
a92169d04
,e985aa010
,272b97b3a
,69f47bfed
,4d9f89f88
]:- @keystone-next/[email protected]
-
#6087
139d7a8de
Thanks @JedWatson! - Move source code from thepackages-next
to thepackages
directory. -
Updated dependencies [
139d7a8de
,890e3d0a5
]:- @keystone-next/[email protected]
- #6029
038cd09a2
Thanks @bladey! - Updated Keystone URL reference from next.keystonejs.com to keystonejs.com.
- Updated dependencies [
df7d7b6f6
,a3b07ea16
,8958704ec
]:- @keystone-ui/[email protected]
- @keystone-next/[email protected]
- @keystone-ui/[email protected]
-
#5806
0eadba2ba
Thanks [@list({](https://github.com/list({), [@list({](https://github.com/list({)! - RemovedwithItemData
in favour of asessionData
option to thecreateAuth()
function.Previously,
withItemData
would be used to wrap theconfig.session
argument:import { config, createSchema, list } from '@keystone-next/keystone/schema'; import { statelessSessions, withAuthData } from '@keystone-next/keystone/session'; import { text, password, checkbox } from '@keystone-next/fields'; import { createAuth } from '@keystone-next/auth'; const { withAuth } = createAuth({ listKey: 'User', identityField: 'email', secretField: 'password', }); const session = statelessSessions({ secret: '-- EXAMPLE COOKIE SECRET; CHANGE ME --' }); export default withAuth( config({ lists: createSchema({ fields: { email: text({ isUnique: true }), password: password(), isAdmin: checkbox(), }, }), session: withItemData(session, { User: 'id isAdmin' }), }), }) );
Now, the fields to populate are configured on
sessionData
increateAuth
, andwithItemData
is completely removed.import { config, createSchema, list } from '@keystone-next/keystone/schema'; import { statelessSessions } from '@keystone-next/keystone/session'; import { text, password, checkbox } from '@keystone-next/fields'; import { createAuth } from '@keystone-next/auth'; const { withAuth } = createAuth({ listKey: 'User', identityField: 'email', secretField: 'password', sessionData: 'id isAdmin', }); const session = statelessSessions({ secret: '-- EXAMPLE COOKIE SECRET; CHANGE ME --' }); export default withAuth( config({ lists: createSchema({ fields: { email: text({ isUnique: true }), password: password(), isAdmin: checkbox(), }, }), session, }), }) );
-
#5767
02af04c03
Thanks @timleslie! - Deprecated thesortBy
GraphQL filter. Updated theorderBy
GraphQL filter with an improved API.Previously a
User
list'sallUsers
query would have the argument:orderBy: String
The new API gives it the argument:
orderBy: [UserOrderByInput!]! = []
where
input UserOrderByInput { id: OrderDirection name: OrderDirection score: OrderDirection } enum OrderDirection { asc desc }
Rather than writing
allUsers(orderBy: "name_ASC")
you now writeallUsers(orderBy: { name: asc })
. You can also now order by multiple fields, e.g.allUsers(orderBy: [{ score: asc }, { name: asc }])
. EachUserOrderByInput
must have exactly one key, or else an error will be returned.
- #5823
553bad1e7
Thanks @gabrielkuettel! - Fixed a typo in the db items api sample code.
- #5791
9de71a9fb
Thanks @timleslie! - Changed the return type ofallItems(...)
from[User]
to[User!]
, as this API can never havenull
items in the return array.
-
#5769
08478b8a7
Thanks @timleslie! - The GraphQL query_all<Items>Meta { count }
generated for each list has been deprecated in favour of a new query<items>Count
, which directy returns the count.A
User
list would have the following query added to the API:usersCount(where: UserWhereInput! = {}): Int
-
Updated dependencies [
5cc35170f
,3a7acc2c5
]:- @keystone-next/[email protected]
- @keystone-ui/[email protected]
- #5746
19750d2dc
Thanks @timleslie! - Update Node.js dependency to^12.20 || >= 14.13
.
- Updated dependencies [
19750d2dc
,e2232a553
]:- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-next/[email protected]
-
#5544
b49befd9c
Thanks @raveling! - copy changes to document-fields guide -
Updated dependencies []:
- @keystone-next/[email protected]
- #5397
a5627304b
Thanks @bladey! - Updated Node engine version to 12.x due to 10.x reaching EOL on 2021-04-30.
-
#5451
9e060fe83
Thanks @JedWatson! - With the goal of making the Lists API (i.econtext.lists.{List}
) more intuitive to use, theresolveFields
option has been deprecated in favor of two new methods:(1) You can specify a string of fields to return with the new
query
option, when you want to query for resolved field values (including querying relationships and virtual fields). This replaces theresolveFields: false
use case.For example, to query a Post you would now write:
const [post] = await context.lists.Post.findMany({ where: { slug }, query: ` title content image { src width height }`, });
(2) Alternatively, there is a new set of APIs on
context.db.lists.{List}
which will return the unresolved item data from the database (but with read hooks applied), which can then be referenced directly or returned from a custom mutation or query in the GraphQL API to be handled by the Field resolvers. This replaces theresolveFields: boolean
use case.For example, to query for the raw data stored in the database, you would write:
const [post] = await context.db.lists.Post.findMany({ where: { slug }, });
- #5467
7498fcabb
Thanks @timleslie! - Removed the deprecatedcontext.executeGraphQL
. Identical functionality is available viacontext.graphql.raw
.
-
#5366
115b06130
Thanks @renovate! - Updated Next.js dependency to^10.1.3
. -
Updated dependencies [
fe55e9289
,a5627304b
,1d85d7ff4
,43a0f5429
,d7e8cad4f
,ecf07393a
,8eebf9195
]:- @keystone-next/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- #5368
b40016301
Thanks @timleslie! - The config optiondb.adapter
is now deprecated. It has been repaced withdb.provider
which can take the valuespostgresql
orsqlite
.
- #5340
ff472d5af
Thanks @raveling! - copy changes to home page (including CTA to getting started tut)
-
#5283
192393d0d
Thanks @timleslie! - The flag{ experimental: { prismaSqlite: true } }
is no longer required to use the SQLite adapter. -
Updated dependencies [
4fa66ac1f
,d93bab17b
]:- @keystone-next/[email protected]
- @keystone-ui/[email protected]
- #3946
8e9b04ecd
Thanks @timleslie! - Added experimental support for Prisma + SQLite as a database adapter.
- #4912
d31acf61b
Thanks @timleslie! - Added aconfig.graphql.apolloConfig
option to allow developers to configure theApolloServer
object provided by Keystone.
-
#5150
3a9d20ce1
Thanks @timleslie! - Applied eslintimport/order
rule. -
Updated dependencies [
8e9b04ecd
,17c86e0c3
,3a9d20ce1
,a4e34e9eb
]:- @keystone-next/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- #5073
ba637676b
Thanks @gwyneplaine! - Moved viewport meta tag from _document to _app to avoid dedupe issues and next warnings.
- #5072
5a78af92e
Thanks @timleslie! - Updated cypress tests to pre-build the site before running the tests.
b1da7806c
#4922 Thanks @timleslie! - Added access control API docs.
f4163a06d
#4838 Thanks @gwyneplaine! - Added anchoring and copy to clipboard functionality to headings
2655c0b1b
#4866 Thanks @timleslie! - Added aconfig.ui.isDisabled
option to completely disable the Admin UI.
f4163a06d
#4838 Thanks @gwyneplaine! - Remove backticks from headings in docs
45d2b7cc9
#4925 Thanks @gwyneplaine! - Removed backticks from inline code blocks in mdx, and made minor styling changes.
1f315bbfb
#4961 Thanks @timleslie! - Added docs for thefloat
field type.
-
954083571
#4926 Thanks @gwyneplaine! - Added a favicon to @keystone-next/website -
Updated dependencies [
f4e4498c6
,556c1f95f
,556c1f95f
,556c1f95f
,556c1f95f
,3ca5038a0
,d53eb872f
]:- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-next/[email protected]
-
28c2ee5be
#4811 Thanks @gwyneplaine! - Added syntax highlighting to code in mdx. -
Updated dependencies [
b97216a65
]:- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
- @keystone-ui/[email protected]
75d3c521e
#4770 Thanks @timleslie! - Upgraded Next.js dependency to10.0.5
.
26543bd07
#4758 Thanks @timleslie! - Added documentation for thekeystone-next
CLI.
-
08a67e820
#4764 Thanks @timleslie! - Moved API docs into a separate section from the Guides. -
4c635ae4b
#4737 Thanks @timleslie! - Added API placeholder.