Skip to content

Releases: keystonejs/keystone

08 August 2023

08 Aug 08:00
8e00d53
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@5.5.0

New Features

  • [core] Add sourcemap: true to esbuild configuration to help with error debugging (#8738) @TweededBadger

Bug Fixes

  • [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) @dcousens

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @renovate (#8742,#8739) for changes not shown above, but none-the-less appreciated.

01 August 2023

01 Aug 02:58
3f69f8d
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/auth@7.0.2
@keystone-6/cloudinary@7.0.1
@keystone-6/core@5.4.0

New Features

  • [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

Bug Fixes

  • [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) @dcousens

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

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.

19 June 2023

19 Jun 02:19
a412558
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/auth@7.0.1
@keystone-6/core@5.3.2

Bug Fixes

  • [auth, core] Adds basePath with a default of '/' to pageMiddleware to support redirects when using ui.basePath (#8641) @borisno2
  • [auth] Removes ?from redirect from /signin page to prevent open redirection. (#8626) @dcousens

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8582), @dcousens (#8640), @raveling (#8632), @renovate (#8638,#8631,#8630,#8629,#8628), @Tekipeps (#8634) for changes not shown above, but none-the-less appreciated.

08 Jun 2023

08 Jun 06:52
95f113e
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@5.3.1

Bug Fixes

  • [core] Fixes hanging process when multiple Prisma generators are defined (#8598) @acburdine
  • [core] Fixes types for allOperations, regression from #8570 (#8617) @dcousens
  • [core] Fixes broken types for field groups, regression from #8570 (#8617) @dcousens
  • [core] Fixes db.onConnect, with keystone start --with-migrations, to run after migrations complete (#8612) @acburdine

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8607), @dcousens (#8587), @raveling (#8606), @renovate (#8608,#8605,#8593,#8592,#8591) for changes not shown above, but none-the-less appreciated.

25 May 2023

25 May 23:39
b5142fe
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@5.3.0

New Features

  • [core] Adds cookieName as an option for statelessSessions (#8570) @dcousens
  • [core] Adds Session type parameter to generated TypeInfo, Lists and Context types, and propagates that type to access control and hooks (#8570) @dcousens
  • [core] Adds ui.basePath for changing the AdminUI base path, using a dynamic next.config.js (#8545) @borisno2
  • [core] Removes prompt when using CLI --frozen flag and a schema is out of date, CLI now exits (#8545) @borisno2
  • [core] Adds resolveInput.{create|update} list hooks as shorthand operation circuitry (#8551) @dcousens
  • [core] Adds new unfiltered shorthand function for an empty filter (exported from '@keystone-6/core/access') (#8552) @dcousens

Bug Fixes

  • [core] Change next experimental.appDir: false for now, until resolution found for internal React issues (#8568) @MohammadKurjieh
  • [core] Fixes type generation for lists with omit.query: true (#8527) @acburdine
  • [core] Update @prisma/* to 4.14.0 (#8562) @renovate
  • [core] Fixes graphql.isNonNull.create: true TypeScript types to be non-optional (#8551) @dcousens
  • [core] Fixes incompatible field key types when working with resolvedData (#8485) (#8551) @dcousens
  • [core] Removes SessionStrategy's type parameter of StartSessionData, removal is non-breaking as the parameter was unusable (#8552) @dcousens
  • [core] Fixes db.enableLogging with an array resulting in keystone dev exiting (#8569) @dcousens
  • [core] Deprecates @keystone-6/core/system exports (createSystem, createExpressServer, initConfig and createAdminUIMiddleware), will be removed in next breaking change (#8569) @dcousens

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8510), @ChrisLaneAU (#8516), @dcousens (#8546,#8357), @renovate (#8585,#8584,#8583,#8579,#8577,#8565,#8567,#8563,#8566,#8564,#8558,#8559,#8560,#8555,#8541,#8542,#8531,#8528) for changes not shown above, but none-the-less appreciated.

27 April 2023

27 Apr 05:13
461d8a1
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@5.2.0
@keystone-6/fields-document@8.0.0

Breaking Changes

  • [fields-document] Changes fields.array({ label: ... to fields.array({ itemLabel: ..., and adds fields.array({ label: string, aligned with other document fields (#8493) @borisno2

New Features

  • [ui] Adds newline compatibility to description text in admin ui (#8369) @DiesIrae
  • [core] Adds a new .types.path configuration option, for specifying where your Keystone types are built (#8381) @dcousens
  • [core] Adds support for Prisma Data Proxy client generation, automatically enabled for db.url's with a prisma: prefix (#8370) @borisno2
  • [core] Updates Prisma version to 4.12.0 (#8432) @renovate

Bug Fixes

  • [fields-document] Adds "use client" to Document field files that allow it to be used in the Next App Dorectory (#8403) @borisno2
  • [core] Fixes regression from #8073, .sudo now retains the context.session (#8441) @dcousens
  • [core] Fixes #8046 regression which prevented other command line arguments from being used (#8455) @borisno2
  • [core] Fixes the printed output when using keystone telemetry reset (#8400) @renovate
  • [core] Fixes the .keystone/types import paths when using db.prismaSchemaPath on Windows (#8373) @borisno2
  • [fields-document] Fixes the JSON output type values for the structure field (#8457) @borisno2
  • [core] .exitSudo is now deprecated and will be removed in the next major version (#8438) @dcousens

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8471,#8508,#8371,#8456,#8454,#8447,#8439,#8440,#8360), @dcousens (#8523,#8520,#8517,#8491,#8483,#8482,#8479,#8478,#8477,#8476,#8473,#8470,#8459,#8431,#8398,#8399,#8395,#8392,#8375,#8363,#8362,#8361), @kennedybaird (#8380), @keystonejs-release-bot (#8374), @raveling (#8461), @renovate (#8512,#8507,#8495,#8494,#7802,#8489,#8444,#8474,#8422,#8463,#8464,#8450,#8451,#8448,#8449,#8433,#8425,#8423,#8426,#8421,#8424,#8428,#8429,#8427,#8229,#8379,#8378) for changes not shown above, but none-the-less appreciated.

02 March 2023

02 Mar 01:08
344d4eb
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@5.1.0

New Features

Bug Fixes

  • [core] Removes outdated Prisma prismaClient.$on('beforeExit'... work-around that blocked Prisma Data Proxy support (#8347) @borisno2
  • [core] Updates image-size to 5.0.0 to mitigate CVE-2022-36313 (#8304) @dcousens
  • [core] Fixes keystone start --with-migrations exiting after a migration (#8354) @acburdine
  • [core] Fixes Typescript types to use never for omitted types (#8355) @acburdine
  • [core] Fixes list-level graphql.omit syntax to match the field-level graphql.omit (#8352) @acburdine

🚨 Security Updates

We have identified and fixed an upstream security vulnerability

  • CVE-2022-36313 - An upstream transitive dependency file-type is vulnerable to a ReDoS. We have upgraded to a version of file-type where this is resolved.

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8344), @dcousens (#8348,#8348,#8358,#8343,#8337,#8336), @renovate (#7553,#8340,#8235,#8341) for changes not shown above, but none-the-less appreciated.

23 February 2023

24 Feb 02:30
e18659a
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/auth@7.0.0
@keystone-6/cloudinary@7.0.0
@keystone-6/core@5.0.0
@keystone-6/fields-document@7.0.0

Breaking Changes

  • [core] Changes graphql.omit type from array to explicit { read: boolean, create: boolean, update: boolean } (#8283) @dcousens
  • [core] Changes graphql.*.isNonNull to graphql.isNonNull.*, and adds graphql.isNonNull.update for optimistic locking usecases (#8283) @dcousens
  • [core] Removes --reset-db from keystone dev, use keystone prisma db push --force-reset to reset your database (#8302) @dcousens
  • [auth, core] Renames isValidSession on pageMiddleware to wasAccessAllowed, which is what it actually is (#8280) @dcousens
  • [core] Upgrade Apollo Server to version 4 (#8221) @borisno2
  • [core] Remove experimental generateNextGraphqlAPI - use getContext instead (#8221) @borisno2
  • [core] Removes @keystone-6/core/next from our exports (#8315) @dcousens
  • [core] Removes assumptions about @prisma/client output location, with a new db.prismaClientPath configuration option to set where to import the Prisma client from (#8307) @borisno2
  • [core] Adds additional flags to the keystone dev, keystone build and keystone start CLI commands (#8046) @borisno2

New Features

  • [core] Removes keystone build errors for graphql.isNonNull.create and graphql.isNonNull.update when field access control is configured (#8283) @dcousens
  • [core, fields-document] Adds an experimental extendPrismaSchema configuration option for lists and fields to mutate the prisma schema (#8241) @borisno2
  • [core] Add acl option for s3 storage configuration (#8264) @jhohlfeld
  • [core] Add a cursor argument for findMany queries, enabling cursor-based pagination (see Prisma.io documentation for how this works) (#8313) @marekryb
  • [core] Extend db.enableLogging to support other Prisma log levels (#8321) @MurzNN
  • [core] Adds a sudo GraphQL extension for the GraphQLSchema passed to extendGraphqlSchema; enabling developers to determine if they are extending the sudo GraphQL schema (#8298) @dcousens

Bug Fixes

  • [core] Changes the keystone telemetry status command output to show formatted output instead of JSON (#8326) @dcousens
  • [core] Fixes the device telemetry configuration which had duplicate data under a malformed project path (#8326) @dcousens
  • [core] Fixes withRequest behavior when no session strategy is configured (#8318) @acburdine
  • [core] Fixes keystone start requiring Typescript by removing tsconfig.json from the generated AdminUI output (#8293) @borisno2
  • [core] Fixes Dataloader error when resolving relationships when access is false on related to-one item (#8216) @borisno2
  • [auth, core] Fixes pageMiddleware to be called for publicPages, returning support for public redirects (#8280) @dcousens
  • [core] Fixes creating new relationships in card view on create item page (#8177) @borisno2
  • [auth] Fixes regression in authenticatedItem query (#8278) @marekryb
  • [core] Fixes .keystone/types including invalid definitions (#8256) @dcousens
  • [core] Fixes undefined types when using omit for create or update (#8300) @dcousens
  • [core] Fixes defaultFieldMode (#8222) @emmatown
  • [cloudinary] Add telemetry field type name for cloudinaryImage field (#8259) @borisno2
  • [core] Fixes <div> cannot appear as a dependant of <p> error on List Page (#8237) @borisno2
  • [auth] Fixes GraphQL error when using autoincrement for auth list id (#8182) @borisno2
  • [auth] Fixes GraphQL error when sessionStrategy.start returns null or undefined (#8182) @borisno2
  • [core] Adds the ability to disable telemetry using environment variable KEYSTONE_TELEMETRY_DISABLED (#8159) @borisno2
  • [auth] Fixes isFilterable: false throwing an error for identity fields (#8298) @dcousens
  • [core] Export next/head for use in auth package (#8234) @borisno2
  • [auth] Fixes loading Admin Metadata and <head> cannot appear as a child of <div> errors on signin (#8234) @borisno2
  • [core] Fixes error when deleting an item that has a file or image that is no longer on the filesystem (#8239) @borisno2

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @borisno2 (#8258,#8247,#8232,#8231,#8188,#8170,#8157), @dcousens (#8330,#8323,#8320,#8096,#8301,#8299,#8255,#8212), @dependabot (#8287,#8275,#8271), @flexdinesh (#8175,#8173,#8174,#8148), @Meetcpatel (#8260), @raveling (#8314,#8310), @renovate (#8328,#8327,#8249,#8273,#8267,#8142,#8152,#8141,#8236,#8133,#8172,#7939) for changes not shown above, but none-the-less appreciated.

7 December 2022

06 Dec 06:38
a5eff5e
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/core@4.0.1

Bug Fixes

6 December 2022

06 Dec 01:28
228be7d
Compare
Choose a tag to compare

The following packages have been updated

@keystone-6/auth@6.0.0
@keystone-6/cloudinary@6.0.0
@keystone-6/core@4.0.0
@keystone-6/fields-document@6.0.0

Breaking Changes

  • [core] Removes createContext, createRequestContext - replace any relevant usage with context.sudo(), context.withSession() or context.withRequest() (#8073) @borisno2

New Features

  • [core, fields-document] Adds Project and Device Telemetry events to the keystone dev script (#8118) @borisno2
  • [core] Adds HOST as an environment variable for keystone dev and keystone start, with higher precedence than config.server.options.host (#8132) @fkrauthan
  • [core] Next.js 13 Upgrade (#8061) @AliceRossa
  • [fields-document] Adds a new structure field type, a composable JSON data structure with a powerful GraphQL API (#7936) @emmatown

Bug Fixes

  • [core] Fixes inline related item form submitting the parent form (#8123) @januzis
  • [auth] Fixes initFirstItem bypass when ui.isAccessAllowed is defined (#8115) @dcousens

🌱 New Contributors

Thanks to the following developers for making their first contributions to the project!

💙 Acknowledgements

Lastly, thanks to @dcousens (#8127,#8125,#8122,#8120,#8104,#8108,#8108,#8108), @borisno2 (#8134), @flexdinesh (#8124,#8119), @renovate (#8072,#8116,#8109), @emmatown (#8099) for changes not shown above, but none-the-less appreciated.