The most powerful headless CMS for Node.js — built with GraphQL and React
The following packages have been updated
@keystone-6/[email protected]
[core]
Update prisma
to 5.13.0
(#9112) @renovate[core]
Add config.db.extendPrismaClient
to support extending the PrismaClient
(#9114) @iamandrewluca[core]
Adds context.transaction
for interactive transactions when using a context
(#9122) @dcousens[core]
Adds keystone migrate create
and keystone migrate apply
(#9103) @dcousens[core]
Fix config.db.enableLogging
types to align with Prisma 5 (#9100) @dcousens[core]
Fix keystone
command help text to show where --frozen
and --no-server
are applicable (#9099) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @dcousens (#9117,#9097), @raveling (#9111), @renovate (#8970,#9118,#9116,#9108,#9109,#9107,#9098,#9093) for changes not shown above, but none-the-less appreciated.
See https://github.com/keystonejs/keystone/compare/2024-04-16...2024-04-30 to compare with our previous release.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
@keystone-6/[email protected]
@keystone-6/[email protected]
[core]
Changes file
and image
to use random 128-bit base64url
identifiers by default, not uuid
(#9079) @dcousens[core]
Removes AdminUIConfig
, DatabaseConfig
, GraphQLConfig
and ServerConfig
from @keystone-6/core/types
, and some unused types - instead use KeystoneConfig['ui']
, KeystoneConfig['db']
and so on (#9085) @dcousens[core]
Removes @keystone-6/core/system
from exports (#9085) @dcousens[core]
Upgrade @prisma/*
packages to 5.12.1
(#9088) @dcousens, @borisno2[core]
Removes unused type parameters from types ListConfig
and ListAdminUIConfig
(#9083) @dcousens[core]
Remove the deprecated type parameters from the list
and group
functions (#9083) @dcousens[core]
Removes graphqlSchema
parameter from extendHttpServer
, use context.graphql.schema
instead (#9083) @dcousens[core]
Moves config.extendGraphqlSchema
to config.graphql.extendGraphqlSchema
, similar to db.extendPrismaSchema
(#9083) @dcousens[core]
Remove KeystoneConfig
parameter from getAdditionalFiles function type (#9083) @dcousens[core]
Remove the deprecated context.exitSudo
from KeystoneContext
(#9083) @dcousens[core]
Remove context.experimental.initialisedLists
, use context.__internal.lists
(may break in patch) (#9083) @dcousens[core]
Remove ExtendGraphqlSchema
type alias, use (schema: GraphQLSchema) => GraphQLSchema
instead (with import type { GraphQLSchema } from 'graphql'
). (#9083) @dcousens, @emmatown[core]
Remove the deprecated (#8721) config.server.healthCheck
, use extendExpressApp
instead (#9083) @dcousens[core]
Removes ListSchemaConfig
type, use KeystoneConfig['lists']
instead (#9083) @dcousens[core]
Remove db.additionalPrismaDatasourceProperties
, use extendPrismaSchema
if needed (#9083) @dcousens[core]
Remove db.prismaPreviewFeatures
, use extendPrismaSchema
if needed (#9083) @dcousens[core]
Remove any
type parameter from SessionStore
/SessionStoreFunction
types (#9083) @dcousens[core]
Remove deprecated config.db.useMigrations
, use --with-migrations
process argument or keystone prisma migrate [dev|deploy]
instead (#9090) @dcousens[core]
Change keystone prisma
behaviour to first require keystone build
(or keystone dev
) (#8776) @dcousens, @borisno2[core]
KS_PRISMA_ERRORS
are now logged with console.error
on the server (#8776) @dcousens[core]
Fix --no-server
being ignored by keystone start
(#9090) @dcousensLastly, thanks to @dcousens (#9087,#9094,#9087), @renovate (#9096,#9095,#9086,#9084,#9080) for changes not shown above, but none-the-less appreciated.
See https://github.com/keystonejs/keystone/compare/2024-04-02...2024-04-16 to compare with our previous release.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
[core]
Adds {field}.hooks.validate.[create|update|delete]
hooks, deprecates validateInput
and validateDelete
(throws if incompatible) (#9057) @dcousens[core]
Adds {list}.hooks.validate.[create|update|delete]
hooks, deprecates validateInput
and validateDelete
(#9056) @dcousens[core]
Add async
to extendHttpServer
, to support await
on startup (#9026) @dcousens[auth]
Fix createInitial*
and send*MagicAuthLink
to throw if the expected type from sessionStrategy.start
is not a string (#9018) @dcousens[core]
Use db.idField
of { kind: 'number', kind: 'Int' }
internally for singletons (#9027) @dcousens[core]
Fixes the text
field type to accept a defaultValue
of null
(#9057) @dcousens[core]
Fix image
field type to use consistent sub-field ordering (#9017) @dcousens[core]
Fix config.server.cors
type preventing value of false
(#9026) @dcousens[core]
Fix defaultIsFilterable
and defaultIsOrderable
types preventing value of true
(#8809) @dcousens[core]
Fix global locking by dropping global p-limit
on context.query
/context.db
(#8809) @dcousens[core]
Deprecates extendHttpServer
's graphqlSchema
argument, use context.graphql.schema
instead (#9028) @dcousens[core]
Fix static relationship resolution errors to conform to nominal error structure (#9042) @dcousens[core]
Fixes createExpressApp
to use context.graphql.schema
, not the GraphQLSchema argument (#9029) @dcousens[core]
Deprecates ExtendGraphQLSchema
type, use type (schema: GraphQLSchema) => GraphQLSchema
instead (#9029) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @dcousens (#9071,#9071,#9071,#9071,#9068,#9055,#9053,#9048,#9043,#9034,#9033,#9032,#9015,#9016,#9012,#9011), @molomby (#9047), @renovate (#9060,#9059,#9065,#9044,#9045,#9050,#9040,#9031,#9030,#9024,#9021,#9020,#9022,#8952) for changes not shown above, but none-the-less appreciated.
See https://github.com/keystonejs/keystone/compare/2024-02-07...2024-04-02 to compare with our previous release.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
[cloudinary]
Upgrade cloudinary
library to version 2 (#9004) @dcousens[core]
Fix @apollo/client
using invalid data from the cache #9000 (#9003) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @borisno2 (#8974), @renovate (#8998,#8999,#8997,#8996,#8994,#8993,#8988,#8989,#8982,#8983,#8977,#8969,#8959,#8956,#8957,#8958,#8946,#8947,#8944) for changes not shown above, but none-the-less appreciated.
See https://github.com/keystonejs/keystone/compare/2023-12-04...2024-02-07 to compare with our previous release.
The following packages have been updated
@keystone-6/[email protected]
[core]
Fix ui.listView.initialSort preventing sort by "No field" (#8909) @dcousens[core]
Fix ui.inlineCreate: { ... } for relationships submitting the parent form of nested relationship fields (#8914) @dcousens[core]
Fix prisma migrate non-interactive environment error (#8898) @marekrybThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @dcousens (#8915,#8910,#8854,#8842), @mmachatschek (#8864), @renovate (#8942,#8939,#8937,#8938,#8935,#8933,#8934,#8932,#8931,#8927,#8923,#8924,#8922,#8925,#8926,#8921,#8911,#8902,#8901,#8900,#8903,#8899,#8885,#8886,#8890,#8891,#8892,#8893,#8894,#8895,#8896,#8877,#8878,#8873,#8868,#8867,#8866,#8845,#8870,#8869,#8865,#8799,#8850,#8851) for changes not shown above, but none-the-less appreciated.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
[core]
Add type FieldHooks
to @keystone-6/core/types
exports (#8837) @dcousens[core]
Add beforeOperation.[create|update|delete]
and afterOperation.[create|update|delete]
operation routing for list hooks (#8826) @dcousens[core]
Fix hooks.validateInput
argument types for update operations (#8819) @acburdine[core]
Remove deprecated experimental.appDir
flag from generated next.config (#8824) @ScottAgirs[cloudinary]
Remove runtime errors from the Cloudinary field, fall back to the cloudinary
package for Cloudinary errors (#8836) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @borisno2 (#8829), @dcousens (#8841,#8841,#8839,#8838,#8818,#8816), @dependabot (#8822), @renovate (#8835,#8514,#8840,#8834,#8833,#8832) for changes not shown above, but none-the-less appreciated.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
[core]
Adds error messages for GraphQL errors on the List view in the AdminUI (#8810) @dcousens[core]
Adds config.graphql.schemaPath
(#8773) @marekryb[core]
Adds config.db.prismaSchemaPath
(#8773) @marekryb[core]
Removes default descrption for timestamp
field when using db.updatedAt
, use ui.description
instead (#8706) @wysher[core]
Fixes Input error: only a int can be passed to id filters
for AdminUI (#8810) @dcousens[core]
Fixes keystone build
hanging with next version >13.4.12 (#8788) @borisno2[core, fields-document]
Reduce number of package dependencies (#8790) @dcousensLastly, thanks to @dcousens (#8808,#8801,#8796,#8792,#8777), @dependabot (#8793), @renovate (#8815,#8814,#8813,#8804,#8800,#8786,#8778,#8789,#8770,#8787,#8785) for changes not shown above, but none-the-less appreciated.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
[fields-document]
Updates slate to ^0.94.1, slate-history to ^0.93.0 and slate-react to ^0.97.1 (#8753) @mmachatschek[core]
Fixes AdminUI overflow bug (#8754) introduced in #8702 (#8754) @lahirurane-rau[core]
Fixes ui.isAccessAllowed
when undefined
, to prevent access to the adminMeta
GraphQL query, akin to the behaviour for the default AdminUI pageMiddleware
(#8771) @dcousensLastly, thanks to @borisno2 (#8763,#8752), @dcousens (#8750), @renovate (#8745,#8748) for changes not shown above, but none-the-less appreciated.
The following packages have been updated
@keystone-6/[email protected]
[core]
Add sourcemap: true
to esbuild configuration to help with error debugging (#8738) @TweededBadger[core]
Fixes ui.isDisabled
condition for keystone start
(#8733) @molomby[core]
Fixes broken context type narrowing for virtual field resolvers (#8741) @acburdine[core]
Fixes session
type as any
when using .keystone/types
Lists
as your root type (#8743) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @renovate (#8742,#8739) for changes not shown above, but none-the-less appreciated.
The following packages have been updated
@keystone-6/[email protected]
@keystone-6/[email protected]
@keystone-6/[email protected]
[core]
Adds new random identifier type as db: { idField: { kind: 'random', bytes?: number, encoding?: 'hex' | 'base64url' } }
, with a default of 32 bytes, encoded as base64url
(#8726) @dcousens[core]
Changes session secret to a secure random default when not provided (#8686) @borisno2[core]
Adds itemValue
prop for custom field view components to allow value-driven field conditions (#8619) @jim-lake[core]
Adds fall back to default AWS credential provider (#7952) @ryzr[core]
Adds responsive AdminUI menu for smaller device widths (#8702) @lahirurane-rau[core]
Upgrades Prisma version to 4.16.2
(#8644) @renovate[core]
Adds arbitrary string identifier support as db: { idField: { kind: 'string' } }
(#8645, #8648) @dcousens, @molomby[core]
Adds new unique filters for querying by more than 1 unique value (#8648) @dcousens[core]
Changes id
field behaviours to not reject invalid identifiers when used in GraphQL resolvers, allowing developers to swap idField
types without breaking (#8648) @dcousens[core]
Adds findOne
and findMany
support for Singleton lists with identifiers other than the default, not recommended in typical usage (#8648) @dcousens[core]
Fixes field omission in createView
in AdminUI when graphql.omit.read: true
(#8715) @dcousens[core]
Fixes field omission in itemView
in AdminUI when graphql.omit.update: true
and ui.fieldMode: 'hidden'
(#8715) @dcousens[core]
Fixes misleading error when db.url
is undefined
(#8696) @dcousens[core]
Deprecates config.server.healthCheck
, use extendExpressApp
(#8721) @dcousens[core]
Deprecates @keystone-6/core/system
, including createSystem
, createExpressServer
and initConfig
(#8721) @dcousens[core]
Fixes the field width of grouped fields in the AdminUI (#8718) @wysher[auth, core]
Use base64url
from node:crypto
for random identifiers, drop safe-uid
dependency (#8725) @dcousens[cloudinary]
Changes cloudinary identifiers to use random base64url identifiers, not cuid (#8724) @dcousens[core]
Fixes GraphQL errors revealing the exact identifier format required when an unknown identifier is provided (#8648) @dcousensThanks to the following developers for making their first contributions to the project!
Lastly, thanks to @dcousens (#8723,#8709,#8674), @dependabot (#8729), @mmachatschek (#8695), @renovate (#8727,#8720,#8713,#8712,#8703,#8700,#8699,#8679,#8680,#8681,#8673,#8666,#8665,#8661,#8578,#8662,#8609,#8652,#8651,#8642,#8643) for changes not shown above, but none-the-less appreciated.