Skip to Page NavigationSkip to Page NavigationSkip to Content

Latest News

A snapshot of Keystone improvements and community happenings.
For developer changelogs see our GitHub Releases.

What are we working on next? See our Roadmap

30th June 2022

Field descriptions

Now you can provide additional context to the reader of Admin UI form fields. Use them to provide a better editing experience and improve the quality of what goes in to your system.Example of field descriptions in use on several Keystone field types

30th June 2022

MySQL support

We’ve added support for MySQL to Keystone's list of DB providers, bringing the total number of supported DB types to three.

Read more
9th June 2022

Better Images & Files

It’s now much easier to get Images and Files working with Keystone’s new storage configuration object.

Read more
9th June 2022

Array fields in Component Blocks

Document field components now accept re-orderable arrays. Drag and drop your way to carousels, galleries, recipe steps and more. Look for the Carousel component in our Document Field demo.

13th May 2022

Example projects in CodeSandbox

You can now experiment with Keystone example projects in a browser using the free codesandbox.io service. Try the blog example today. Thanks @murznn for making it happen! 🙌

8th February 2022

New learning series

Aimed at Keystone beginners, our new learning series shows you how to turn an empty folder into a functioning blog backend with relationships, auth, and session data.

29th November 2021

Welcome Keystone 6 to General Availability!

Keystone 6 is now in General Availability! Today's Keystone is faster and more flexible than it's ever been, and is ready for you to build amazing things with 🚀 Read the full story here.

24th November 2021

Improved performance with Prisma’s Node Engine

Keystone now uses Prisma’s Node-API Query Engine. Query times are now much faster, especially for large data sets.

23rd November 2021

Keystone Brand Portal

We now have a brand portal full of logos, monograms and assets. Perfect for your blog posts, plugins and more.

15th November 2021

New example: Nexus

This example uses Nexus — a declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript —to extend the GraphQL API provided by Keystone with custom queries and mutations.

15th November 2021

Expanded Unique Filters

The image and files configuration options have been removed from Keystone's configuration, and a new storage configuration object introduced. timestamp, float and decimal fields with isIndexed: 'unique' now have unique filters viaListWhereUniqueInput.

15th November 2021

Customisable Table & Column Names

You can now use different table and column names for your list and field keys. Powered by Prisma's @map and @@map attributes: this is useful if you don’t want to modify your existing database (such as a read-only database) and use it with Keystone.

Read more
2nd November 2021

Server-side reloading

With keystone-next dev you can now update your GraphQL schema, change hooks and access control, log errors to see how your data returns, then immediately use the playground to test it and iterate. This is on top of to the current support for live reloading changes to custom views in the Admin UI.

Read more
13th October 2021

New deployment example: Microsoft Azure

This example shows you how to deploy Keystone to Azure PaaS using AppService, Storage and Postgres. Thanks to community member Aaron Powell for the awesome contribution 🙌

5th October 2021

New example: REST API endpoint

This example shows you how to create REST endpoints by extending Keystone’s express app so you can use the Query API to execute queries against the schema.

16th September 2021

create-keystone-app now uses SQLite

Our CLI app now uses SQLite under the hood so you don’t have to spend time on DB config when trying out new ideas. We also updated the getting started walkthrough to reflect this improvement.

15th September 2021

Deployment examples for Heroku and Railway

Learn how to get your Keystone project on the web with our new one-click starters for Heroku and Railway.

9th September 2021

Prisma Meetup Korea

Jed spoke at Prisma Meetup Korea, covering V6 general availability, user-facing management, UI authentication, access control, business logic integrations and more. Watch it online here.

7th September 2021

Next 11, Faster Startups, Custom Servers

Major release #2 of #3 planned ahead of Keystone 6 General Availability includes:

  • A better Access Control API
  • Customisable Express + GraphQL API paths
  • Apollo Server introspection
  • Omit GraphQL operations
  • Faster startups in local dev
  • Keystone has been updated to Next.js v11

6th September 2021

New & Improved Access Control API

Access Control is now easier to program, and makes it harder to introduce security gaps in your system.

  • The static approach to access control has been replaced. Now access control never effects the operations in your GraphQL API.
  • Keystone used to return an access denied error from a query if an item couldn't be found, or explicitly had access denied. The improved API never returns that error type on a query.
  • Access rules are now more explicit, and support fewer variations so you're less likely to introduce security gaps.
To securely upgrade your system, follow the instructions in our Access Control upgrade guide.

6th September 2021

Customisable Express App

A long awaited feature, the Express App that Keystone creates is now customisable with the new extendExpressApp option:

  • Add your own custom server routes
  • Host two apps on separate ports
  • And more...

6th September 2021

GraphQL Path Customisation

The GraphQL endpoint accessible by default at `/api/graphql` can now be customised with the new option config.graphql.path. You can find this and all other options in our GraphQL API docs.

17th August 2021

New & improved GraphQL API

A major milestone in the path to a General Availability status for Keystone 6, we've just released a new and improved GraphQL API. 🎉

We’ve made the experience of working with Keystone’s GraphQL API easier to program and reason about. Be sure to check our GraphQL API docs.

29th July 2021

Admin UI Customizations

We're opening Admin UI up to support a more personal content experience. Now you can:

To deliver a more productive editor experience that's aligned with the needs and brand of your organisation.

29th July 2021

New Health Check endpoint

We've added an optional /_healthcheck endpoint to Keystone's express server. Use it to ensure your Keystone instance is up and running with website monitoring solutions.

Read more
10th July 2021

Watch Jed's Prisma Day workshop

Follow along in with the repo as Jed builds a front and back-end for a Blog app with Prisma, KeystoneJS, GraphQL, Next.js and Tailwind, that gives you:Editors can embed audience Polls in post content, and authenticated visitors can make their vote count in the frontend.

29th June 2021

New example: Custom Field Views

Learn how to create a custom field view for a JSON field that lets users users add, edit and remove navigation items from a list.

10th July 2021

Watch Jed's Prisma Day talk

Jed's talk at Prisma Day 2021 is a great overview into what makes Keystone special. Watch below, or read the full transcript.

29th June 2021

New website

We've launched our new website for Keystone 6! There’s a new home page, and background on why Keystone is built for projects that need to scale on their own terms. Navigating the docs is easier with breadcrumbs, index pages for Walkthroughs, Guides, and APIs, and a better mobile experience. We hope you like it ❤️

21st June 2021

New guides

In our contuing efforts to improve the developer documentation for Keystone 6, we’ve written the following guides:

15th June 2021

New core

After months of work deep in the codebase, Keystone 6 now has a new core. This unblocks a bunch of roadmap features like custom field types, GraphQL Schema extensions, and more. The new core does bring some minor behavioural changes to Keystone’s APIs. See the release notes for more information.

Read more
15th June 2021

Improved accessibility (a11y) in the Admin UI

We’ve made accessibility updates to DatePicker labels, relationship fields, as well as visual improvements to segment control (when no value is selected), and more.

15th June 2021

Unique Text and Integer field filtering

A long awaited feature: you can now find an item by unique fields in your schema. It works for text and integer fields that have isUnique: true set.

2nd June 2021

New JSON field

You can now use JSON blobs in your backend, and provide your own React UI components to edit them. Try it out in this example project. It accepts any valid JSON node including:

  • string
  • number
  • array
  • object

1st June 2021

Example projects collection

We now have a collection of example projects you can run locally to learn more about a particular feature of Keystone. Each project comes with explainers on the how and why. Use them as a reference for best practice, and as a jumping off point when adding features to your own Keystone project.

6th April 2021

Controlled code demolition

We’ve pruned a lot of code to make way for a more efficient and productive core in Keystone 6. Changes include:

  • Removed DB adapters and many redundant methods and arguments (now that Keystone 6 uses Prisma under the hood).
  • Exchanged deploy, reset and generate commands for keystone-next prisma commands.

Read more
19th March 2021

Guidance on using Keystone 5 vs Keystone 6

Keystone 5 is now in maintenance mode while we focus all our efforts on building Keystone 6. If you’re wondering which version to start your next project with, this guide is for you.

Read more

Need answers to Keystone questions? Get help in ourCommunity Slack