What's New
An assortment of good things in this release! A new package to help test the behaviour of your GraphQL API, a document field example, better error messages, accessibility updates and another Prisma update! 🍱
"@keystone-ui/fields": "4.1.2",
"@keystone-ui/options": "4.0.1",
"@keystone-ui/pill": "5.0.0",
"@keystone-ui/popover": "4.0.2",
"@keystone-ui/toast": "4.0.1",
"@keystone-next/cloudinary": "6.0.1",
"@keystone-next/fields": "11.0.1",
"@keystone-next/keystone": "20.0.1",
"@keystone-next/testing": "1.0.0",
"@keystone-next/types": "20.0.1",
"@keystone-next/utils": "1.0.0",
Testing Package 🧪
We’ve shipped a new package called @keystone-next/testing
to help you write tests for your GraphQL API!
Check out the guide on the Keystone website for more details.
Document Field Example ✍️
We have a new example project for the document field which covers the basic use case of configuring the toolbar, rendering the document field in a front end, and providing custom renderers for the built in data.
Another example showing advanced use cases is in-progress and will be available soon!
Error Messages ❗
GraphQL error messages are far more helpful when running queries. You will now get relevant error messages instead of getting Cannot assign to read only property 'path' of object '#<Object>'"
back.
Thanks @tjbp for contributing this fix!
Improved Types for KeystoneContext
📜
⚠️ We've tweaked lists
and db.lists
APIs on KeystoneContext
to have improved types. If you're using the generated KeystoneListsTypeInfo
type like this:
const lists: KeystoneListsAPI<KeystoneListsTypeInfo> = context.lists;
You will have to change it to use as
like this:
const lists = context.lists as KeystoneListsAPI<KeystoneListsTypeInfo>;
UI Accessibility 🏷️
Another set of accessibility improvements in the Admin UI in this release including assorted quality of life and screen reader improvements to Filter pills and dialogs, as well as labels and descriptions.
Prisma update ⬆️
We've updated our Prisma dependencies to 2.25.0
, check out the Prisma releases page for more information.
Enjoying Keystone?
Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.
View verbose release notes
Releases
@keystone-ui/pill@5.0.0
Major Changes
- #5987
972e04514
Thanks @gwyneplaine! - Added containerProps prop, these are spread onto the containing element. All other props are now spread onto the internal PillButton component (this change is inclusive of refs).
@keystone-next/testing@1.0.0
Major Changes
- #5926
3b9cdc2c0
Thanks @timleslie! - Initial release of the@keystone-next/testing
package.
Patch Changes
- Updated dependencies [
10b36551a
,8afbab763
,7a25925c3
,50ad1ce6b
,972e04514
,123042b04
,4e5634b86
,006afd108
,3be09ea54
,eab130f30
]:- @keystone-next/keystone@20.0.1
@keystone-next/utils@1.0.0
Major Changes
- #5932
7a25925c3
Thanks @timleslie! - Initial release of@keystone-next/utils
package.
Patch Changes
@keystone-ui/fields@4.1.2
Patch Changes
-
#5848
4e5634b86
Thanks @renovate! - Updated TypeScript to 4.3.2 -
Updated dependencies [
972e04514
,0afacf621
,eab130f30
]:- @keystone-ui/popover@4.0.2
@keystone-ui/options@4.0.1
Patch Changes
-
#5848
4e5634b86
Thanks @renovate! - Updated TypeScript to 4.3.2 -
Updated dependencies [
4e5634b86
]:- @keystone-ui/fields@4.1.2
@keystone-ui/popover@4.0.2
Patch Changes
-
#5987
972e04514
Thanks @gwyneplaine! - Added aria-hidden to dialog container so screen readers can't access when the dialog is not visible. -
#5924
0afacf621
Thanks @gwyneplaine! - Fixed popover arrow misalignment. -
#5921
eab130f30
Thanks @gwyneplaine! - Applied aria-modal and role=dialog to popover component for better screen reader support.
@keystone-ui/toast@4.0.1
Patch Changes
- #5930
40a44d20d
Thanks @gwyneplaine! - Added role="alert" to Toast container element for better screen reader experience.
@keystone-next/cloudinary@6.0.1
Patch Changes
-
#5925
de0a5c19e
Thanks @timleslie! - Removed unused dependencies. -
Updated dependencies [
de0a5c19e
,7a25925c3
,50ad1ce6b
,0df3734d5
,4e5634b86
,972e04514
,543154bc0
,972e04514
]:- @keystone-next/fields@11.0.1
- @keystone-next/types@20.0.1
- @keystone-ui/fields@4.1.2
- @keystone-ui/pill@5.0.0
@keystone-next/fields@11.0.1
Patch Changes
-
#5925
de0a5c19e
Thanks @timleslie! - Removed unused dependencies. -
#5932
7a25925c3
Thanks @timleslie! - Initial release of@keystone-next/utils
package. -
#5992
543154bc0
Thanks @timleslie! - Pinned dependencydecimal.js
to10.2.1
to be consistent with Prisma. -
#5987
972e04514
Thanks @gwyneplaine! - Fixed autoFocus always being active in the text field Filter component. -
Updated dependencies [
10b36551a
,8afbab763
,7a25925c3
,50ad1ce6b
,972e04514
,0df3734d5
,123042b04
,4e5634b86
,006afd108
,40a44d20d
,972e04514
,543154bc0
,3be09ea54
,eab130f30
]:- @keystone-next/keystone@20.0.1
- @keystone-next/utils@1.0.0
- @keystone-next/types@20.0.1
- @keystone-ui/fields@4.1.2
- @keystone-ui/toast@4.0.1
- @keystone-ui/pill@5.0.0
@keystone-next/keystone@20.0.1
Patch Changes
-
#5817
10b36551a
Thanks @bladey! - Fixed the GraphQL playground accessed at/api/graphql
from being accessible in production by default.Fixed the GraphQL playground incorrectly interpreting config options.
-
#5949
8afbab763
Thanks @tjbp! - Fixed readonly property set informat-error
ofcreateApolloServer
. -
#5932
7a25925c3
Thanks @timleslie! - Initial release of@keystone-next/utils
package. -
#5910
50ad1ce6b
Thanks @mitchellhamilton! - Fixed generated list types to allow passing a value directly when a GraphQL list of the value is expected -
#5987
972e04514
Thanks @gwyneplaine! - Added assorted quality of life and screen reader improvements to Filter pills and dialogs in the admin-ui -
#5920
123042b04
Thanks @mitchellhamilton! - Fixed Admin UI generation to allow files returned fromgetAdditionalFiles
to overwrite the files generated by Keystone -
#5848
4e5634b86
Thanks @renovate! - Updated TypeScript to 4.3.2 -
#5914
006afd108
Thanks @renovate! - Updated Prisma dependencies to2.25.0
. -
#5922
3be09ea54
Thanks @gwyneplaine! - Fixed reset-to-default button, broken due to next patch update. -
#5921
eab130f30
Thanks @gwyneplaine! - Added more helpful aria-label and aria-description to filter, sort and column popover. -
Updated dependencies [
de0a5c19e
,7a25925c3
,50ad1ce6b
,0df3734d5
,972e04514
,4e5634b86
,0afacf621
,40a44d20d
,eab130f30
,972e04514
,543154bc0
,972e04514
]:- @keystone-next/fields@11.0.1
- @keystone-next/utils@1.0.0
- @keystone-next/types@20.0.1
- @keystone-ui/popover@4.0.2
- @keystone-ui/fields@4.1.2
- @keystone-ui/options@4.0.1
- @keystone-ui/toast@4.0.1
- @keystone-ui/pill@5.0.0
@keystone-next/types@20.0.1
Patch Changes
-
#5910
50ad1ce6b
Thanks @mitchellhamilton! - Fixed generated list types to allow passing a value directly when a GraphQL list of the value is expected -
#5907
0df3734d5
Thanks @mitchellhamilton! - Fixedlists
anddb.lists
APIs onKeystoneContext
to have improved types. If you're using the generatedKeystoneListsTypeInfo
type like this:const lists: KeystoneListsAPI<KeystoneListsTypeInfo> = context.lists;
You will have to change it to use
as
like this:const lists = context.lists as KeystoneListsAPI<KeystoneListsTypeInfo>;
-
#5992
543154bc0
Thanks @timleslie! - Pinned dependencydecimal.js
to10.2.1
to be consistent with Prisma. -
Updated dependencies [
de0a5c19e
,7a25925c3
,543154bc0
,972e04514
]:- @keystone-next/fields@11.0.1
@keystone-next/example-document-field@1.0.0
Major Changes
- #5955
f87ea05fc
Thanks @timleslie! - Initial version of the document field example project.
Patch Changes
- Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/fields@11.0.1
@keystone-next/example-virtual-field@0.1.0
Minor Changes
- #5906
084c4e3c1
Thanks @mitchellhamilton! - Updated virtual fields to match those in the guide.
Patch Changes
- Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,0df3734d5
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/fields@11.0.1
- @keystone-next/types@20.0.1
@keystone-ui/website@3.0.1
Patch Changes
- Updated dependencies [
972e04514
,4e5634b86
,0afacf621
,40a44d20d
,eab130f30
,972e04514
]:- @keystone-ui/popover@4.0.2
- @keystone-ui/fields@4.1.2
- @keystone-ui/options@4.0.1
- @keystone-ui/toast@4.0.1
- @keystone-ui/pill@5.0.0
@keystone-next/example-ecommerce@4.0.3
Patch Changes
-
#5926
3b9cdc2c0
Thanks @timleslie! - Updated tests to use the@keystone-next/testing
package. -
Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,0df3734d5
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/cloudinary@6.0.1
- @keystone-next/fields@11.0.1
- @keystone-next/types@20.0.1
@keystone-next/example-playground@1.0.1
Patch Changes
-
#5817
10b36551a
Thanks @bladey! - Added example that demonstrates how you can customise the GraphQL Playground accessed at/api/graphql
. -
Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/fields@11.0.1
@keystone-next/example-testing@0.0.1
Patch Changes
- Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,0df3734d5
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3b9cdc2c0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/fields@11.0.1
- @keystone-next/types@20.0.1
- @keystone-next/testing@1.0.0
@keystone-next/api-tests-legacy@11.0.3
Patch Changes
-
#5932
7a25925c3
Thanks @timleslie! - Initial release of@keystone-next/utils
package. -
#5926
3b9cdc2c0
Thanks @timleslie! - Updated tests to use the@keystone-next/testing
package. -
Updated dependencies [
7a25925c3
,50ad1ce6b
,0df3734d5
,543154bc0
,3b9cdc2c0
]:- @keystone-next/utils@1.0.0
- @keystone-next/types@20.0.1
- @keystone-next/testing@1.0.0
@keystone-next/benchmarks-legacy@7.0.3
Patch Changes
-
#5926
3b9cdc2c0
Thanks @timleslie! - Updated tests to use the@keystone-next/testing
package. -
Updated dependencies [
10b36551a
,8afbab763
,de0a5c19e
,7a25925c3
,50ad1ce6b
,972e04514
,123042b04
,4e5634b86
,006afd108
,543154bc0
,3b9cdc2c0
,3be09ea54
,eab130f30
,972e04514
]:- @keystone-next/keystone@20.0.1
- @keystone-next/fields@11.0.1
- @keystone-next/testing@1.0.0