What's New
Custom navigation, pages and logo in this big Admin UI themed release! 🎛️
"@keystone-ui/tooltip": "4.0.1",
"@keystone-next/admin-ui-utils": "5.0.5",
"@keystone-next/auth": "30.0.0",
"@keystone-next/cloudinary": "6.0.5",
"@keystone-next/fields": "13.0.0",
"@keystone-next/fields-document": "7.0.3",
"@keystone-next/keystone": "23.0.2",
"@keystone-next/testing": "1.1.0",
"@keystone-next/types": "23.0.0",
"@keystone-next/utils": "1.0.3",Custom Admin UI Navigation 🚏
You can now create your own custom navigation component with custom routes to be rendered in the Admin UI.
Check out our detailed Custom Admin UI Navigation guide for all the details!
Custom Admin UI Pages 📃
Take things a step further with custom pages. As the Admin UI is built on top of Next.js, it exposes the same /pages directory for adding custom pages.
ℹ️ In the near future you'll be able to directly embed pages within the Keystone Admin UI itself, stay tuned!
Read our new Custom Admin UI Pages guide for more details.
Custom Admin UI Logo 🚩
Wait, theres more. You can also replace the default Admin UI logo with your own brand assets. ✨
Dive into our Custom Admin UI Logo guide to find out how.
Health Check 💙
We've added an optional /_healthcheck endpoint to Keystone's express server. You can use this endpoint to ensure your Keystone instance is up and running using website monitoring solutions.
Enable it by setting config.server.healthCheck: true, by default it will respond with { status: 'pass', timestamp: Date.now() }.
You can also specify a custom path and JSON data:
config({
server: {
healthCheck: {
path: "/my-health-check",
data: { status: "healthy" },
},
},
});Or use a function for the data config to return real-time information:
config({
server: {
healthCheck: {
path: "/my-health-check",
data: () => ({
status: "healthy",
timestamp: Date.now(),
uptime: process.uptime(),
}),
},
},
});Prisma Update ⬆️
Updated Prisma dependencies to 2.27.0, check out the Prisma releases page for more details.
Credits 💫
-
Fixed virtual field rendering of
false&0values thanks to @ChuckJonas! -
Added
/tolist.pathonHomePageListCardto better allow custombasePaththanks to @borisno2! -
Changed symlink generation to use relative path instead of absolute which solves running project in docker when mapping volume, thanks to @gautamsi!
Enjoying Keystone?
Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.
View verbose release notes
Releases
@keystone-next/auth@30.0.0
Major Changes
- #6179
ee8a51498Thanks @mitchellhamilton! - The field passed to theidentityFieldoption is now required to haveisUnique: true.
Patch Changes
-
#6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays -
Updated dependencies [
3f03b8c1f,ea0712aa2,93f1e5d30,9e2deac5f,7716315ea,a11e54d69,e5f61ad50,9e2deac5f,e4e6cf9b5,2ef6fe82c,dd7e811e7,587a8d0b0,597edbdd8,1172e1853,fbe698461,32e9879db]:- @keystone-next/keystone@23.0.0
- @keystone-next/types@23.0.0
- @keystone-next/fields@13.0.0
- @keystone-next/admin-ui-utils@5.0.5
@keystone-next/fields@13.0.0
Major Changes
-
#6105
e5f61ad50Thanks @mitchellhamilton! - Removed unnecessary descriptions on GraphQL types. -
#6165
e4e6cf9b5Thanks @mitchellhamilton! - Addedui.searchFieldsoption to lists to allow searching by multiple fields in the Admin UI (the only current usage of this is in the select used in relationship fields) and to replace the usage of thesearchGraphQL argument which will be removed soon and should be replaced by usingcontainsfilters directly.
Patch Changes
-
#6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays -
#6110
2ef6fe82cThanks @ChuckJonas! - Fixed virtual field rendering of false & 0 values. -
Updated dependencies [
3f03b8c1f,ea0712aa2,93f1e5d30,9e2deac5f,7716315ea,a11e54d69,e5f61ad50,9e2deac5f,e4e6cf9b5,dd7e811e7,587a8d0b0,597edbdd8,1172e1853,fbe698461,32e9879db]:- @keystone-next/keystone@23.0.0
- @keystone-next/types@23.0.0
- @keystone-ui/tooltip@4.0.1
- @keystone-next/admin-ui-utils@5.0.5
- @keystone-next/utils@1.0.3
@keystone-next/keystone@23.0.0
Major Changes
-
#6153
7716315eaThanks @mitchellhamilton! - Removed implicit chunking from the lists API so that the lists API is a direct translation of the GraphQL API -
#6105
e5f61ad50Thanks @mitchellhamilton! - Removed unnecessary descriptions on GraphQL types. -
#6165
e4e6cf9b5Thanks @mitchellhamilton! - Addedui.searchFieldsoption to lists to allow searching by multiple fields in the Admin UI (the only current usage of this is in the select used in relationship fields) and to replace the usage of thesearchGraphQL argument which will be removed soon and should be replaced by usingcontainsfilters directly.
Minor Changes
- #6111
9e2deac5fThanks @gwyneplaine! - Added the ability to customise the Navigation component in the Admin UI, and provided helper components to do so.
Patch Changes
-
#6104
3f03b8c1fThanks @timleslie! - Cosmetic changes to the core code in preparation for improvements to the error handling logic. -
#6126
ea0712aa2Thanks @borisno2! - Added/tolist.pathon HomePage ListCard to better allow custombasePath. -
#6192
93f1e5d30Thanks @JedWatson! - Added an optional/_healthcheckendpoint to Keystone's express server. -
#6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays -
#6116
dd7e811e7Thanks @timleslie! - Updated unique filter checking code to ensure it is always run before using the unique input filter. -
#6139
587a8d0b0Thanks @timleslie! - Refactored mutation validation handling into a single location. -
#6119
597edbdd8Thanks @timleslie! - Split the default value loop from the field-type input resolver loop to allow for more fine-grained error handling. -
#6144
1172e1853Thanks @gautamsi! - Changed symlink generation to use relative path instead of absolute. Solves running project in docker when mapping volume. -
#6096
fbe698461Thanks @renovate! - Updated Prisma dependencies to2.27.0. -
#6123
32e9879dbThanks @timleslie! - Simplified the internal implementation of nested mutations. -
Updated dependencies [
93f1e5d30,a11e54d69,e5f61ad50,9e2deac5f,e4e6cf9b5,2ef6fe82c]:- @keystone-next/types@23.0.0
- @keystone-ui/tooltip@4.0.1
- @keystone-next/fields@13.0.0
- @keystone-next/admin-ui-utils@5.0.5
- @keystone-next/utils@1.0.3
@keystone-next/types@23.0.0
Major Changes
- #6165
e4e6cf9b5Thanks @mitchellhamilton! - Addedui.searchFieldsoption to lists to allow searching by multiple fields in the Admin UI (the only current usage of this is in the select used in relationship fields) and to replace the usage of thesearchGraphQL argument which will be removed soon and should be replaced by usingcontainsfilters directly.
Minor Changes
- #6111
9e2deac5fThanks @gwyneplaine! - Add Admin UI specific types AuthenticatedItem, VisibleLists, CreateViewFieldModes and NavigationProps to exports.
Patch Changes
-
#6192
93f1e5d30Thanks @JedWatson! - Added an optional/_healthcheckendpoint to Keystone's express server.You can enable it by setting
config.server.healthCheck: trueBy default it will respond with
{ status: 'pass', timestamp: Date.now() }You can also specify a custom path and JSON data:
config({ server: { healthCheck: { path: '/my-health-check', data: { status: 'healthy' }, }, }, });
Or use a function for the
dataconfig to return real-time information:config({ server: { healthCheck: { path: '/my-health-check', data: () => ({ status: 'healthy', timestamp: Date.now(), uptime: process.uptime(), }), }, }, });
-
Updated dependencies [
a11e54d69,e5f61ad50,e4e6cf9b5,2ef6fe82c]:- @keystone-next/fields@13.0.0
@keystone-next/testing@1.1.0
Minor Changes
- #6193
14cb7c5c4Thanks @timleslie! - Added anappvalue to theTestArgstype to provide direct access to the Express application from test runners.
Patch Changes
- Updated dependencies [
3f03b8c1f,ea0712aa2,93f1e5d30,9e2deac5f,7716315ea,a11e54d69,e5f61ad50,e4e6cf9b5,dd7e811e7,587a8d0b0,597edbdd8,1172e1853,fbe698461,32e9879db]:- @keystone-next/keystone@23.0.0
@keystone-ui/tooltip@4.0.1
Patch Changes
- #6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays
@keystone-next/admin-ui-utils@5.0.5
Patch Changes
@keystone-next/cloudinary@6.0.5
Patch Changes
-
#6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays -
Updated dependencies [
93f1e5d30,a11e54d69,e5f61ad50,9e2deac5f,e4e6cf9b5,2ef6fe82c]:- @keystone-next/types@23.0.0
- @keystone-next/fields@13.0.0
@keystone-next/fields-document@7.0.3
Patch Changes
-
#6180
a11e54d69Thanks @mitchellhamilton! - Fixed issues with React hooks dependency arrays -
Updated dependencies [
3f03b8c1f,ea0712aa2,93f1e5d30,9e2deac5f,7716315ea,a11e54d69,e5f61ad50,9e2deac5f,e4e6cf9b5,2ef6fe82c,dd7e811e7,587a8d0b0,597edbdd8,1172e1853,fbe698461,32e9879db]:- @keystone-next/keystone@23.0.0
- @keystone-next/types@23.0.0
- @keystone-ui/tooltip@4.0.1
- @keystone-next/fields@13.0.0
- @keystone-next/admin-ui-utils@5.0.5
@keystone-next/utils@1.0.3
Patch Changes
@keystone-next/example-custom-admin-ui-logo@1.0.0
Major Changes
- #6145
2de1615a0Thanks @gwyneplaine! - Initial version of the custom-admin-ui-logo example.


