keystone

The superpowered headless CMS for Node.js — built with GraphQL and React

MIT License

Downloads
1M
Stars
9.2K
Committers
270

Bot releases are visible (Hide)

keystone - ✨ 6th April 2021

Published by bladey over 3 years ago

What's New

Controlled code demolition 🏗️ 👷‍♀️

We pruned a lot of code from the Keystone garden – cutting out the dead wood to make way for a more efficient and productive core in Keystone 6. Notable changes include:

  • Removed Keystone‘s DB adapters and the db.adapter config option (now that Keystone 6 uses Prisma under the hood).
  • Said goodbye to a bunch of redundant methods and arguments for the same reasons as above.
  • Exchanged deploy, reset and generate commands for keystone-next prisma e.g:
    • keystone-next deploy -> keystone-next prisma migrate deploy

Better pagination in Admin UI ⏭️ ✨

Pagination in the Admin UI has fresh styles and is easier to use.

Enjoying Keystone?

Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.


Releases

@keystone-next/[email protected]

Major Changes

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Updated Next API route template to use createSystem without the dotKeystonePath argument and import from the new Prisma Client location.

Minor Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Replaced deploy, reset and generate commands with keystone-next prisma. You can use these commands as replacements for the old commands:

    • keystone-next deploy -> keystone-next prisma migrate deploy
    • keystone-next reset -> keystone-next prisma migrate reset
    • keystone-next generate -> keystone-next prisma migrate dev
  • #5266 c28e765d1 Thanks @mitchellhamilton! - Removed migrationAction argument to createSystem and require that the PrismaClient is passed to createSystem to be able to connect to the database.

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Updated keystone-next build command to validate that the GraphQL and Prisma schemas are up to date.

  • #5287 95fefaf81 Thanks @mitchellhamilton! - Removed getDbSchemaName and getPrismaPath database adapter options. To change the database schema that Keystone uses, you can add ?schema=whatever to the database url.

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Moved generated schema.prisma to the root of the project directory. Note that this also moves the location of migrations from .keystone/prisma/migrations to migrations at the root of the project.

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Removed dotKeystonePath argument from createSystem

  • #5256 399e6db39 Thanks @timleslie! - Removed support for the knex and mongoose database adapters. We now only support prisma_postgresql and prisma_sqlite.

  • #5285 5cd94b2a3 Thanks @mitchellhamilton! - Removed dropDatabase method and config option

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Moved generated GraphQL schema to schema.graphql to the root of the project. We recommend that you commit this file to your repo.

Minor Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5266 c28e765d1 Thanks @mitchellhamilton! - Removed migrationAction argument to createSystem and require that the PrismaClient is passed to createSystem to be able to connect to the database.

  • #5256 399e6db39 Thanks @timleslie! - Removed support for the knex and mongoose database adapters. We now only support prisma_postgresql and prisma_sqlite.

Minor Changes

  • #5368 b40016301 Thanks @timleslie! - The config option db.adapter is now deprecated. It has been repaced with db.provider which can take the values postgresql or sqlite.

  • #5283 192393d0d Thanks @timleslie! - The flag { experimental: { prismaSqlite: true } } is no longer required to use the SQLite adapter.

  • #5341 1886b4323 Thanks @mitchellhamilton! - Added generateNextGraphqlAPI and generateNodeAPI experimental options

@keystone-next/[email protected]

Major Changes

  • #5319 1261c398b Thanks @timleslie! - Removed legacy PrismaAdapter.listAdapterClass, PrismaAdapter.postConnect(), and PrismaAdapter.checkDatabaseVersion().

  • #5302 1e6d12f47 Thanks @mitchellhamilton! - Removed CLIOptionsForCreateMigration and createMigration exports

  • #5324 e702fea44 Thanks @timleslie! - Removed legacy .find(), .findAll(), .findOne(), .findById(), .itemsQueryMeta(), .getFieldAdapterByPath(), and .getPrimaryKeyAdapter() methods from PrismaListAdapter.

  • #5287 95fefaf81 Thanks @mitchellhamilton! - Removed getDbSchemaName and getPrismaPath database adapter options. To change the database schema that Keystone uses, you can add ?schema=whatever to the database url.

  • #5302 1e6d12f47 Thanks @mitchellhamilton! - Removed formatting of Prisma schema returned from _generatePrismaSchema method and made it return synchronously

  • #5320 fda82869c Thanks @timleslie! - Removed legacy default ID field support.

  • #5285 5cd94b2a3 Thanks @mitchellhamilton! - Removed dropDatabase method and config option

  • #5287 95fefaf81 Thanks @mitchellhamilton! - Removed migrationMode and all migration related methods on the adapter and instead require that a prisma client is passed to the adapter to be able to connect to the database

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

  • #5324 e702fea44 Thanks @timleslie! - Removed legacy .find(), .findAll(), .findOne(), .findById(), .itemsQueryMeta(), .getFieldAdapterByPath(), and .getPrimaryKeyAdapter() methods from PrismaListAdapter.

@keystone-next/[email protected]

Major Changes

  • #5276 1a4db6c87 Thanks @mitchellhamilton! - Removed usage of getDbSchemaName, getPrismaPath, migrationMode and dropDatabase adapter options. Note this means that dropping the database and running migrations will now only happen when creating a keystone instance from setupFromConfig rather than on every keystone.connect

  • #5256 399e6db39 Thanks @timleslie! - Removed support for the knex and mongoose database adapters. We now only support prisma_postgresql and prisma_sqlite.

Patch Changes

@keystone-ui/[email protected]

Minor Changes

  • #5322 d93bab17b Thanks @gwyneplaine! - Added styles prop to @keystone-ui/fields select components to enable style customisations to propagate to the underlying reaect-select implementation.

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Minor Changes

  • #5368 b40016301 Thanks @timleslie! - The config option db.adapter is now deprecated. It has been repaced with db.provider which can take the values postgresql or sqlite.

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

keystone - ✨ 30th March 2021

Published by bladey over 3 years ago

What's New

Goodbye legacy code 👋 🌇

We removed a few legacy items including:

  • Field types CalendarDay, DateTime, Slug, Url, and Uuid.
  • Arguments cookieSecret, cookie, and sessionStore from the Keystone constructor.
  • Arguments schemaName, schemaNames, keystoneOptions, and graphqlOptions were unused and have been removed from the setupServer() function (which we also removed).

Improved select field type 🔽

It now uses the correct underlying type, which lets you make use of { dataType: 'enum' } and { dataType: 'integer'}.

Squashed bugs 🐛

We fixed a bug that existed in updateMany on lists with declarative access control.

Enjoying Keystone?

Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.


Releases

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5192 9e78d8818 Thanks @timleslie! - Removed views export, which was used to provide functionality to the legacy Admin UI.

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5244 0e1487385 Thanks @timleslie! - Removed the legacy arguments adminDoc and adminConfig, and the method extendAdminMeta.

  • #5193 eb39fa37d Thanks @timleslie! - Removed views export, which was used to provide functionality to the legacy Admin UI.

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5192 9e78d8818 Thanks @timleslie! - Removed views export, which was used to provide functionality to the legacy Admin UI.

Patch Changes

@keystone-next/[email protected]

Major Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Minor Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

@keystone-next/[email protected]

Minor Changes

  • #5217 da900777a Thanks @timleslie! - select field type now uses the correct underlying type, allowing the use of { dataType: 'enum' } and { dataType: 'integer'}.

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5230 673b21a0d Thanks @timleslie! - Updated project to use prisma_sqlite rather than mongoose as the database adapter if DATABASSE_URL is not provided.

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5230 673b21a0d Thanks @timleslie! - Updated project to use prisma_sqlite rather than mongoose as the database adapter if DATABASSE_URL is not provided.

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5230 673b21a0d Thanks @timleslie! - Updated project to use prisma_sqlite rather than mongoose as the database adapter if DATABASSE_URL is not provided.

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5230 673b21a0d Thanks @timleslie! - Updated project to use prisma_sqlite rather than mongoose as the database adapter if DATABASSE_URL is not provided.

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

keystone - ✨ 23rd March 2021

Published by bladey over 3 years ago

What's New

Added support for SQLite with Prisma 🎉

You can now use SQLite to store your data via Prisma. The SQLite rollout also includes support for the File and Cloudinary field types.

Noteworthy bug-squashing 🐛

Mitchell solved a bug where withItemData returned sessions that don't match an item, rather than treating them as invalid.

Enjoying Keystone?

Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.


Releases

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

keystone - ✨ 22nd March 2021

Published by bladey over 3 years ago

What's New

Prisma migrations 🚚

  • We updated keystone-next dev with the Prisma adapter so that it interactively prompts for creating and applying migrations.
  • createKeystone and createSystem also accept a migration mode now instead of a script.
  • keystone-next generate now uses Prisma's programmatic APIs to generate migrations and it accepts the following options as command line arguments or as prompts:
    • --name to set the name of the migration
    • --accept-data-loss to allow resetting the database when it is out of sync with the migrations
    • --allow-empty to create an empty migration when there are no changes to the schema.

Noteworthy bug-squashing 🐛

Now you can include negative values for float, decimal and integer fields. 🎉

Enjoying Keystone?

Star this repo 🌟 ☝️ or connect to Keystone on Twitter and in Slack.


Releases

@keystone-next/[email protected]

Major Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

  • #5087 56e5fe10b Thanks @mitchellhamilton! - Updated createKeystone and createSystem to accept a migration mode rather than script

  • #5135 cdd889db1 Thanks @mitchellhamilton! - Updated keystone-next dev with the Prisma adapter so that it interactively prompts for creating and applying a migration

  • #5163 b37cbffc8 Thanks @mitchellhamilton! - Added db.useMigrations option to replace using keystone-next dev and keystone-next prototype depending on what kind of migration strategy you want to use. If you were previously using keystone-next dev, you should set db.useMigrations to true in your config and continue using keystone-next dev. If you were previously using keystone-next prototype, you should now use keystone-next dev.

  • #5155 215aed387 Thanks @mitchellhamilton! - Removed createOnly migration mode

  • #5163 b37cbffc8 Thanks @mitchellhamilton! - Replaced MigrationMode type with MigrationAction that createSystem and createKeystone now accept.

Minor Changes

  • #3946 8e9b04ecd Thanks @timleslie! - Added experimental support for Prisma + SQLite as a database adapter.

  • #5102 714bdadce Thanks @mitchellhamilton! - Added none-skip-client-generation migrationMode

  • #5148 e6b16d4e9 Thanks @mitchellhamilton! - Updated keystone-next deploy to use Prisma's programmatic APIs to apply migrations

  • #5155 215aed387 Thanks @mitchellhamilton! - Changed keystone-next generate so that it uses Prisma's programmatic APIs to generate migrations and it accepts the following options as command line arguments or as prompts:

    • --name to set the name of the migration
    • --accept-data-loss to allow resetting the database when it is out of sync with the migrations
    • --allow-empty to create an empty migration when there are no changes to the schema
  • #5084 40d4fff5d Thanks @timleslie! - Updated context.sudo() to provide access to all operations, including those excluded by { access: false } in the public schema.

  • #5152 00f980cad Thanks @mitchellhamilton! - Updated keystone-next reset to use Prisma's programmatic APIs to reset the database.

  • #4912 d31acf61b Thanks @timleslie! - Added a config.graphql.apolloConfig option to allow developers to configure the ApolloServer object provided by Keystone.

Patch Changes

@keystone-next/[email protected]

Major Changes

Minor Changes

  • #3946 8e9b04ecd Thanks @timleslie! - Added experimental support for Prisma + SQLite as a database adapter.

  • #5102 714bdadce Thanks @mitchellhamilton! - Added none-skip-client-generation migrationMode

  • #5087 56e5fe10b Thanks @mitchellhamilton! - Added MigrationMode type

  • #5163 b37cbffc8 Thanks @mitchellhamilton! - Added db.useMigrations option to replace using keystone-next dev and keystone-next prototype depending on what kind of migration strategy you want to use. If you were previously using keystone-next dev, you should set db.useMigrations to true in your config and continue using keystone-next dev. If you were previously using keystone-next prototype, you should now use keystone-next dev.

  • #5084 40d4fff5d Thanks @timleslie! - Updated context.sudo() to provide access to all operations, including those excluded by { access: false } in the public schema.

  • #4912 d31acf61b Thanks @timleslie! - Added a config.graphql.apolloConfig option to allow developers to configure the ApolloServer object provided by Keystone.

Patch Changes

@keystone-next/[email protected]

Major Changes

@keystone-next/[email protected]

Major Changes

Minor Changes

  • #3946 8e9b04ecd Thanks @timleslie! - Added experimental support for Prisma + SQLite as a database adapter.

  • #5102 714bdadce Thanks @mitchellhamilton! - Added none-skip-client-generation migrationMode

  • #5148 e6b16d4e9 Thanks @mitchellhamilton! - Updated keystone-next deploy to use Prisma's programmatic APIs to apply migrations

  • #5155 215aed387 Thanks @mitchellhamilton! - Changed keystone-next generate so that it uses Prisma's programmatic APIs to generate migrations and it accepts the following options as command line arguments or as prompts:

    • --name to set the name of the migration
    • --accept-data-loss to allow resetting the database when it is out of sync with the migrations
    • --allow-empty to create an empty migration when there are no changes to the schema
  • #5152 00f980cad Thanks @mitchellhamilton! - Updated keystone-next reset to use Prisma's programmatic APIs to reset the database.

  • #5142 543232c3f Thanks @renovate! - Updated Prisma to 2.19.0

Patch Changes

@keystone-next/[email protected]

Major Changes

Minor Changes

Patch Changes

@keystone-next/[email protected]

Major Changes

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-ui/[email protected]

Patch Changes

@keystone-ui/[email protected]

Patch Changes

@keystone-ui/[email protected]

Patch Changes

@keystone-ui/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Minor Changes

  • #3946 8e9b04ecd Thanks @timleslie! - Added experimental support for Prisma + SQLite as a database adapter.

  • #4912 d31acf61b Thanks @timleslie! - Added a config.graphql.apolloConfig option to allow developers to configure the ApolloServer object provided by Keystone.

Patch Changes

@keystone-next/[email protected]

Minor Changes

Patch Changes

@keystone-ui/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystonejs/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes

@keystone-next/[email protected]

Patch Changes