What's New
A major milestone in the path to a General Availability
status for Keystone 6, this release includes:
- A new and improved GraphQL API 🎉 ✨
- Enhancements to Custom Admin UI Pages
- Better deletion notifications
- And more…
⚠️ This release contains breaking changes, please see below!
"@keystone-ui/notice": "4.0.1",
"@keystone-ui/segmented-control": "4.0.2",
"@keystone-ui/toast": "4.0.2",
"@keystone-next/admin-ui-utils": "5.0.6",
"@keystone-next/auth": "31.0.0",
"@keystone-next/cloudinary": "6.0.6",
"@keystone-next/fields": "14.0.0",
"@keystone-next/fields-document": "8.0.0",
"@keystone-next/keystone": "24.0.0",
"@keystone-next/testing": "1.1.1",
"@keystone-next/types": "24.0.0",
"@keystone-next/utils": "1.0.4",
A new & improved GraphQL API ✨
We’ve made the experience of working with Keystone’s GraphQL API easier to program and reason about:
- Queries: the names of top-level queries are now easier to understand. We also removed deprecated and unused legacy features.
- Filters: the arguments used in queries have been updated to accept a filter object for each field, rather than having all the filter options available at the top level.
- Mutations: all generated CRUD mutations have the same names and return types, but their inputs have changed.
- Input Types: we’ve updated the input types used for relationship fields in
update
andcreate
operations, removing obsolete options and making the syntax between the two operations easier to differentiate.
Upgrade guidance
We've written a complete guide to the improvements we've made, and it includes a checklist of the steps you need to take to upgrade your Keystone projects. Be sure to check it out!
💡 While there are a lot of changes to this API, if you approach the upgrade process systematically your experience should be pretty smooth. If you get stuck or have questions, reach out to us in the Keystone community slack to get the help you need.
Custom Admin UI Pages 📃
Our Custom Admin UI Pages guide has been expanded, with an example to make your custom pages look more like the Admin UI, as well as adding links to your custom pages from the Admin UI Navigation!
Improved Deletion Notifications 🗑
When items are deleted via the Admin UI, we now display all the items that were successfully deleted, and any that failed, instead of displaying multiple notifications without any context.
Deeper GraphQL Errors 🚧
A config.graphql.debug
option has been added, which can be used to control whether debug information such as stack traces are included in the errors returned by the GraphQL API.
Prisma Update ⬆️
Updated Prisma dependencies from 2.27.0
to 2.29.0
, check out the Prisma releases page for more details.
Credits 💫
Added option for Bearer
token auth when using session, thanks to @gautamsi!
Enjoying Keystone?
Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.
#6211 If you have a list called #6310 Updated dependencies [ #6280 #6196 #6266 #6196 #6095 #6196 #6217 If you have a list called #6224 If you have a list called #6211 If you have a list called #6237 #6197 If you have a list called Also, the input type used in the Updated dependencies [ #6095 #6250 #6318 #6207 #6197 If you have a list called Also, the input type used in the Updated dependencies [ #6196 #6196 #6266 #6208 If you have a list called #6196 #6095 #6198 #6196 #6312 #6217 If you have a list called #6224 If you have a list called #6197 If you have a list called Also, the input type used in the #6211 If you have a list called #6206 If you have a list called #6276 #6267 #6317 #6250 #6334 #6219 #6269 #6218 #6316 #6310 #6292 #6263 #6259 #6239 #6248 #6203 #6296 #6200 Updated dependencies [ #6196 #6196 #6266 #6208 If you have a list called #6196 #6095 #6196 #6312 #6217 If you have a list called #6224 If you have a list called #6197 If you have a list called Also, the input type used in the #6211 If you have a list called #6206 If you have a list called #6249 Updated dependencies [ #6264 Updated dependencies [ #6310 Updated dependencies [ #6310 Updated dependencies [ #6250 #6310 Updated dependencies [ #6310 Updated dependencies [ #6310 Updated dependencies [View verbose release notes
Releases
@keystone-next/auth@31.0.0
Major Changes
d214e2f72
Thanks @mitchellhamilton! - The update mutations now accept where
unique inputs instead of only an id
and the where
and data
arguments are non-null.
Item
, the update mutations now look like this:
type Mutation {
updateItem(where: ItemWhereUniqueInput!, data: ItemUpdateInput!): Item
updateItems(data: [ItemUpdateArgs!]!): [Item]
}
input ItemUpdateArgs {
where: ItemWhereUniqueInput!
data: ItemUpdateInput!
}
Patch Changes
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, c2bb6a9a5
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/fields@14.0.0
Major Changes
e9f3c42d5
Thanks @mitchellhamilton! - Removed gqlType
option to autoIncrement
field type. The field type will now always be represented with an Int
in GraphQL
5cd8ffd6c
Thanks @mitchellhamilton! - Removed _ListKeyMeta
and _toManyRelationshipFieldMeta
fields. You should use listKeyCount
and toManyRelationshipFieldCount
instead
b696a9579
Thanks @mitchellhamilton! - Renamed first
argument in find many queries to take
to align with Prisma.
type Query {
users(
where: UserWhereInput! = {}
orderBy: [UserOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [User!]
# ...
}
type User {
# ...
posts(
where: PostWhereInput! = {}
orderBy: [PostOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [Post!]
# ...
}
5cd8ffd6c
Thanks @mitchellhamilton! - Removed search
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use contains
filters instead.
272b97b3a
Thanks @mitchellhamilton! - Updated filters to be nested instead of flattened and add top-level NOT
operator. See the Query Filter API docs and the upgrade guide for more information.
query {
posts(where: { title: { contains: "Something" } }) {
title
content
}
}
5cd8ffd6c
Thanks @mitchellhamilton! - Removed sortBy
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use orderBy
instead.
874f2c405
Thanks @mitchellhamilton! - disconnectAll
has been renamed to disconnect
in to-one relationship inputs and the old disconnect
field has been removed. There are also seperate input types for create and update where the input for create doesn't have disconnect
. It's also now required that if you provide a to-one relationship input, you must provide exactly one field to the input.
Item
, the to-one relationship inputs now look like this:
input ItemRelateToOneForCreateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
}
input ItemRelateToOneForUpdateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
disconnect: Boolean
}
3564b342d
Thanks @mitchellhamilton! - disconnectAll
has been replaced by set
in to-many relationship inputs, the equivalent to disconnectAll: true
is now set: []
. There are also seperate input types for create and update where the input for create doesn't have disconnect
or set
. The inputs in the lists in the input field are now also non-null.
Item
, the to-many relationship inputs now look like this:
input ItemRelateToManyForCreateInput {
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
input ItemRelateToManyForUpdateInput {
disconnect: [ItemWhereUniqueInput!]
set: [ItemWhereUniqueInput!]
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
d214e2f72
Thanks @mitchellhamilton! - The update mutations now accept where
unique inputs instead of only an id
and the where
and data
arguments are non-null.
Item
, the update mutations now look like this:
type Mutation {
updateItem(where: ItemWhereUniqueInput!, data: ItemUpdateInput!): Item
updateItems(data: [ItemUpdateArgs!]!): [Item]
}
input ItemUpdateArgs {
where: ItemWhereUniqueInput!
data: ItemUpdateInput!
}
Patch Changes
4f4f0351a
Thanks @gwyneplaine! - Updated timestamp field to default time to 00:00 when no time is selected.
4d9f89f88
Thanks @mitchellhamilton! - The generated CRUD queries, and some of the input types, in the GraphQL API have been renamed.
Item
, the query for multiple values, allItems
will be renamed to items
. The query for a single value, Item
, will be renamed to item
.
updateItems
mutation has been renamed from ItemsUpdateInput
to ItemUpdateArgs
.
5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, c2bb6a9a5
, 6da56b80e
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 6cd7ab78e
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/fields-document@8.0.0
Major Changes
272b97b3a
Thanks @mitchellhamilton! - Updated filters to be nested instead of flattened and add top-level NOT
operator. See the Query Filter API docs and the upgrade guide for more information.
query {
posts(where: { title: { contains: "Something" } }) {
title
content
}
}
Patch Changes
a92169d04
Thanks @timleslie! - Updated internal type definitions.
e985aa010
Thanks @raveling! - Updated the document editor's expanded view so that you can click on any of the empty space below the content to focus the editor
69f47bfed
Thanks @timleslie! - Suppressed error logging during tests.
4d9f89f88
Thanks @mitchellhamilton! - The generated CRUD queries, and some of the input types, in the GraphQL API have been renamed.
Item
, the query for multiple values, allItems
will be renamed to items
. The query for a single value, Item
, will be renamed to item
.
updateItems
mutation has been renamed from ItemsUpdateInput
to ItemUpdateArgs
.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/keystone@24.0.0
Major Changes
5cd8ffd6c
Thanks @mitchellhamilton! - Removed _ListKeyMeta
and _toManyRelationshipFieldMeta
fields. You should use listKeyCount
and toManyRelationshipFieldCount
instead
5cd8ffd6c
Thanks @mitchellhamilton! - Removed all arguments from context.lists.List.count
and context.db.lists.List.count
except for where
.
b696a9579
Thanks @mitchellhamilton! - Renamed first
argument in find many queries to take
to align with Prisma.
type Query {
users(
where: UserWhereInput! = {}
orderBy: [UserOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [User!]
# ...
}
type User {
# ...
posts(
where: PostWhereInput! = {}
orderBy: [PostOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [Post!]
# ...
}
092df6678
Thanks @mitchellhamilton! - The create one mutation now requires a non-null data
argument and the create many mutation accepts a list of ItemCreateInput
directly instead of being nested inside of an object with the ItemCreateInput
in a data
field.
Item
, createItem
now looks like createItem(data: ItemCreateInput!): Item
and createItems
now looks like createItems(data: [ItemCreateInput!]!): [Item]
.
5cd8ffd6c
Thanks @mitchellhamilton! - Removed search
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use contains
filters instead.
272b97b3a
Thanks @mitchellhamilton! - Updated filters to be nested instead of flattened and add top-level NOT
operator. See the Query Filter API docs and the upgrade guide for more information.
query {
posts(where: { title: { contains: "Something" } }) {
title
content
}
}
9d361c1c8
Thanks @timleslie! - Removed the uid
and name
properties from the errors returned by the GraphQL API.
5cd8ffd6c
Thanks @mitchellhamilton! - Removed sortBy
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use orderBy
instead.
56044e2a4
Thanks @mitchellhamilton! - Updated @graphql-ts/schema
. The second type parameter of schema.Arg
exported from @keystone-next/types
is now a boolean that defines whether or not the arg has a default value to make it easier to define circular input objects.
874f2c405
Thanks @mitchellhamilton! - disconnectAll
has been renamed to disconnect
in to-one relationship inputs and the old disconnect
field has been removed. There are also seperate input types for create and update where the input for create doesn't have disconnect
. It's also now required that if you provide a to-one relationship input, you must provide exactly one field to the input.
Item
, the to-one relationship inputs now look like this:
input ItemRelateToOneForCreateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
}
input ItemRelateToOneForUpdateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
disconnect: Boolean
}
3564b342d
Thanks @mitchellhamilton! - disconnectAll
has been replaced by set
in to-many relationship inputs, the equivalent to disconnectAll: true
is now set: []
. There are also seperate input types for create and update where the input for create doesn't have disconnect
or set
. The inputs in the lists in the input field are now also non-null.
Item
, the to-many relationship inputs now look like this:
input ItemRelateToManyForCreateInput {
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
input ItemRelateToManyForUpdateInput {
disconnect: [ItemWhereUniqueInput!]
set: [ItemWhereUniqueInput!]
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
4d9f89f88
Thanks @mitchellhamilton! - The generated CRUD queries, and some of the input types, in the GraphQL API have been renamed.
Item
, the query for multiple values, allItems
will be renamed to items
. The query for a single value, Item
, will be renamed to item
.
updateItems
mutation has been renamed from ItemsUpdateInput
to ItemUpdateArgs
.
d214e2f72
Thanks @mitchellhamilton! - The update mutations now accept where
unique inputs instead of only an id
and the where
and data
arguments are non-null.
Item
, the update mutations now look like this:
type Mutation {
updateItem(where: ItemWhereUniqueInput!, data: ItemUpdateInput!): Item
updateItems(data: [ItemUpdateArgs!]!): [Item]
}
input ItemUpdateArgs {
where: ItemWhereUniqueInput!
data: ItemUpdateInput!
}
f5e64af37
Thanks @mitchellhamilton! - The delete mutations now accept where
unique inputs instead of only an id
.
Item
, deleteItem
now looks like deleteItem(where: ItemWhereUniqueInput!): Item
and deleteItems
now looks like deleteItems(where: [ItemWhereUniqueInput!]!): [Item]
Minor Changes
3a7a06b2c
Thanks @gautamsi! - Added option for Bearer
token auth when using session.
1030296d1
Thanks @timleslie! - Added config.graphql.debug
option, which can be used to control whether debug information such as stack traces are included in the errors returned by the GraphQL API.
Patch Changes
1cbcf54cb
Thanks @timleslie! - Separated the resolving of non-relationship field from relationship fields in create/update inputs to allow for better error handling.
a92169d04
Thanks @timleslie! - Updated internal type definitions.
f3014a627
Thanks @gwyneplaine! - Resolved bug with visually hidden elements in ListView checkboxes expanding to fill the whole body on click of elements near the bottom of the screen.
6da56b80e
Thanks @timleslie! - Removed unused code path in Admin UI error display.
697efa354
Thanks @gwyneplaine! - Added ignoreBuildErrors flag to next-config.js file, to negate false positive errors in keystone builds with imported components.
c7e331d90
Thanks @timleslie! - Added more details to validation failure error messages.
78dac764e
Thanks @timleslie! - Updated handling of errors in resolveInput
hooks to provide developers with appropriate debug information.
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
0dcb1c95b
Thanks @renovate! - Updated Prisma dependencies to 2.29.1
.
94435ffee
Thanks @timleslie! - Made the original stacktraces for before/after hooks available on error.extension.errors
.
f46fd32b7
Thanks @gwyneplaine! - Bumped @apollo/client dependency to ^3.4.5, the update resolves the following useQuery issue.
8ea4eed55
Thanks @timleslie! - Added more details to before/after change/delete hook error messages.
e3fe6498d
Thanks @timleslie! - Removed unused dependency @graphql-tools/schema
.
8b2d179b2
Thanks @renovate! - Updated Prisma dependencies to 2.28.0
.
e3fefafcc
Thanks @gwyneplaine! - Fixed delete success notifications in the Admin UI appearing on failed deletes in List view and Item view.
686c0f1c4
Thanks @timleslie! - Updated internal error handling to use the apollo-server-errors
package instead of apollo-errors
.
e9f3c42d5
, 5cd8ffd6c
, 5cd8ffd6c
, b696a9579
, 092df6678
, 5cd8ffd6c
, c2bb6a9a5
, 4f4f0351a
, 272b97b3a
, 5cd8ffd6c
, 56044e2a4
, 874f2c405
, 1030296d1
, 3564b342d
, 4d9f89f88
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/types@24.0.0
Major Changes
5cd8ffd6c
Thanks @mitchellhamilton! - Removed _ListKeyMeta
and _toManyRelationshipFieldMeta
fields. You should use listKeyCount
and toManyRelationshipFieldCount
instead
5cd8ffd6c
Thanks @mitchellhamilton! - Removed all arguments from context.lists.List.count
and context.db.lists.List.count
except for where
.
b696a9579
Thanks @mitchellhamilton! - Renamed first
argument in find many queries to take
to align with Prisma.
type Query {
users(
where: UserWhereInput! = {}
orderBy: [UserOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [User!]
# ...
}
type User {
# ...
posts(
where: PostWhereInput! = {}
orderBy: [PostOrderByInput!]! = []
# previously was first: Int
take: Int
skip: Int! = 0
): [Post!]
# ...
}
092df6678
Thanks @mitchellhamilton! - The create one mutation now requires a non-null data
argument and the create many mutation accepts a list of ItemCreateInput
directly instead of being nested inside of an object with the ItemCreateInput
in a data
field.
Item
, createItem
now looks like createItem(data: ItemCreateInput!): Item
and createItems
now looks like createItems(data: [ItemCreateInput!]!): [Item]
.
5cd8ffd6c
Thanks @mitchellhamilton! - Removed search
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use contains
filters instead.
272b97b3a
Thanks @mitchellhamilton! - Updated filters to be nested instead of flattened and add top-level NOT
operator. See the Query Filter API docs and the upgrade guide for more information.
query {
posts(where: { title: { contains: "Something" } }) {
title
content
}
}
5cd8ffd6c
Thanks @mitchellhamilton! - Removed sortBy
argument from the GraphQL API for finding many items, Lists/DB API and to-many relationship fields. You should use orderBy
instead.
56044e2a4
Thanks @mitchellhamilton! - Updated @graphql-ts/schema
. The second type parameter of schema.Arg
exported from @keystone-next/types
is now a boolean that defines whether or not the arg has a default value to make it easier to define circular input objects.
874f2c405
Thanks @mitchellhamilton! - disconnectAll
has been renamed to disconnect
in to-one relationship inputs and the old disconnect
field has been removed. There are also seperate input types for create and update where the input for create doesn't have disconnect
. It's also now required that if you provide a to-one relationship input, you must provide exactly one field to the input.
Item
, the to-one relationship inputs now look like this:
input ItemRelateToOneForCreateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
}
input ItemRelateToOneForUpdateInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
disconnect: Boolean
}
3564b342d
Thanks @mitchellhamilton! - disconnectAll
has been replaced by set
in to-many relationship inputs, the equivalent to disconnectAll: true
is now set: []
. There are also seperate input types for create and update where the input for create doesn't have disconnect
or set
. The inputs in the lists in the input field are now also non-null.
Item
, the to-many relationship inputs now look like this:
input ItemRelateToManyForCreateInput {
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
input ItemRelateToManyForUpdateInput {
disconnect: [ItemWhereUniqueInput!]
set: [ItemWhereUniqueInput!]
create: [ItemCreateInput!]
connect: [ItemWhereUniqueInput!]
}
4d9f89f88
Thanks @mitchellhamilton! - The generated CRUD queries, and some of the input types, in the GraphQL API have been renamed.
Item
, the query for multiple values, allItems
will be renamed to items
. The query for a single value, Item
, will be renamed to item
.
updateItems
mutation has been renamed from ItemsUpdateInput
to ItemUpdateArgs
.
d214e2f72
Thanks @mitchellhamilton! - The update mutations now accept where
unique inputs instead of only an id
and the where
and data
arguments are non-null.
Item
, the update mutations now look like this:
type Mutation {
updateItem(where: ItemWhereUniqueInput!, data: ItemUpdateInput!): Item
updateItems(data: [ItemUpdateArgs!]!): [Item]
}
input ItemUpdateArgs {
where: ItemWhereUniqueInput!
data: ItemUpdateInput!
}
f5e64af37
Thanks @mitchellhamilton! - The delete mutations now accept where
unique inputs instead of only an id
.
Item
, deleteItem
now looks like deleteItem(where: ItemWhereUniqueInput!): Item
and deleteItems
now looks like deleteItems(where: [ItemWhereUniqueInput!]!): [Item]
Minor Changes
1030296d1
Thanks @timleslie! - Added config.graphql.debug
option, which can be used to control whether debug information such as stack traces are included in the errors returned by the GraphQL API.
Patch Changes
8187ea019
Thanks @timleslie! - Updated types to allow the 'id'
field in ui.labelField
, ui.listView.initialColumns
, and ui.listView.initialSort
.
e9f3c42d5
, 5cd8ffd6c
, b696a9579
, 5cd8ffd6c
, 4f4f0351a
, 272b97b3a
, 5cd8ffd6c
, 874f2c405
, 3564b342d
, 4d9f89f88
, d214e2f72
]:
@keystone-ui/notice@4.0.1
Patch Changes
c2bb6a9a5
Thanks @timleslie! - Updated css to preserve whitespace formatting of error messages.
@keystone-ui/segmented-control@4.0.2
Patch Changes
6cd7ab78e
Thanks @gwyneplaine! - Fixed segmented-control focus style.
@keystone-ui/toast@4.0.2
Patch Changes
c2bb6a9a5
Thanks @timleslie! - Updated css to preserve whitespace formatting of error messages.
@keystone-next/admin-ui-utils@5.0.6
Patch Changes
5cd8ffd6c
, 5cd8ffd6c
, b696a9579
, 092df6678
, 5cd8ffd6c
, 272b97b3a
, 5cd8ffd6c
, 56044e2a4
, 874f2c405
, 1030296d1
, 3564b342d
, 4d9f89f88
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/cloudinary@6.0.6
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 5cd8ffd6c
, b696a9579
, 092df6678
, 5cd8ffd6c
, 4f4f0351a
, 272b97b3a
, 5cd8ffd6c
, 56044e2a4
, 874f2c405
, 1030296d1
, 3564b342d
, 4d9f89f88
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/testing@1.1.1
Patch Changes
5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/utils@1.0.4
Patch Changes
5cd8ffd6c
, 5cd8ffd6c
, b696a9579
, 092df6678
, 5cd8ffd6c
, 272b97b3a
, 5cd8ffd6c
, 56044e2a4
, 874f2c405
, 1030296d1
, 3564b342d
, 4d9f89f88
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-custom-admin-ui-navigation@5.0.0
Major Changes
bc00c0a17
Thanks @gwyneplaine! - Initial version of the custom-admin-ui-navigation example.
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-custom-admin-ui-pages@1.0.0
Major Changes
e0b9e8d38
Thanks @gwyneplaine! - Initial version of the custom-admin-ui-pages example.
Patch Changes
df10c42a2
Thanks @gwyneplaine! - Additional content added to example for making the custom-page look more like the Admin UI, as well as adding a route to the custom page to the Admin UI Navigation.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/api-tests-legacy@11.1.0
Minor Changes
Patch Changes
5cd8ffd6c
, 5cd8ffd6c
, b696a9579
, 092df6678
, 5cd8ffd6c
, 272b97b3a
, 5cd8ffd6c
, 56044e2a4
, 874f2c405
, 1030296d1
, 3564b342d
, 4d9f89f88
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/website@3.1.4
Patch Changes
a92169d04
, e985aa010
, 272b97b3a
, 69f47bfed
, 4d9f89f88
]:
@keystone-next/example-assets-cloud@1.0.4
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-assets-local@1.0.4
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-auth@4.0.6
Patch Changes
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/examples-app-basic@4.0.6
Patch Changes
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, e985aa010
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 69f47bfed
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-ecommerce@4.0.7
Patch Changes
a92169d04
Thanks @timleslie! - Updated internal type definitions.
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-embedded-nextjs@3.0.6
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
keystone-next-app@1.0.6
Patch Changes
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, e985aa010
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 69f47bfed
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-playground@1.0.5
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-roles@4.0.6
Patch Changes
399561b27
Thanks @timleslie! - Updated dependencies to use mergeSchemas
from @graphql-tools/schema
, rather than its old location in @graphql-tools/merge
. You might see a reordering of the contents of your graphql.schema
file.
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-sandbox@3.0.6
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-blog@2.0.6
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, d214e2f72
, f5e64af37
]:
@keystone-next/example-custom-admin-ui-logo@1.0.1
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]:
@keystone-next/example-custom-field@0.0.3
Patch Changes
e9f3c42d5
, 5cd8ffd6c
, 1cbcf54cb
, a92169d04
, 5cd8ffd6c
, b696a9579
, f3014a627
, 092df6678
, 5cd8ffd6c
, 6da56b80e
, 4f4f0351a
, 697efa354
, c7e331d90
, 3a7a06b2c
, 272b97b3a
, 78dac764e
, 399561b27
, 9d361c1c8
, 0dcb1c95b
, 94435ffee
, 5cd8ffd6c
, 56044e2a4
, f46fd32b7
, 874f2c405
, 8ea4eed55
, e3fe6498d
, 1030296d1
, 3564b342d
, 8b2d179b2
, e3fefafcc
, 4d9f89f88
, 686c0f1c4
, 8187ea019
, d214e2f72
, f5e64af37
]: