Skip to content

Commit

Permalink
🚀 General Availability website copy changes (keystonejs#7000)
Browse files Browse the repository at this point in the history
* docs: fix variable name on tutorial code example (keystonejs#6875)

Replace use of "lists" from ".keystone/api" with "query" variable to make it works.

* fixed remote links markup (keystonejs#6881)

* Fixed some emoji descriptions for better accessibility (keystonejs#6882)

* fixed some emoji descriptions

* found another one

* Fix incorrect db key in timestamp documentation (keystonejs#6883)

/s/createdAt/updatedAt

* Update for-content-management.tsx (keystonejs#6891)

* minor fixes to context docs (keystonejs#6925)

* minore fixes to context docs

* change image.getSrc to image.getUrl in context docs

* Release notes for 2021-11-15 (keystonejs#6933)

* Progress commit.

* Update 2021-11-15.mdx

* Update 2021-11-15.mdx

* Update 2021-11-15.mdx (keystonejs#6935)

* Text tweaks to release notes. (keystonejs#6941)

* Update 2021-11-15.mdx

* Update 2021-11-15.mdx

* Text updates.

* remove preview badge from header

* Add release announcement page

* Edits to `updates` sidebar nav

* Update announcement banner

* Ks5 6 copy change (keystonejs#6973)

* copy change to ks5vs6 guide to reflect GA release

* more updates to the intro copy of the guide for ga purposes

* Update docs/pages/updates/keystone-5-vs-keystone-6-preview.mdx

Copy update from Ron 🙏

Co-authored-by: Ronald Aveling <ronald.aveling@thinkmill.com.au>

* Update docs/pages/updates/keystone-5-vs-keystone-6-preview.mdx

Co-authored-by: Ronald Aveling <ronald.aveling@thinkmill.com.au>

Co-authored-by: Ronald Aveling <ronald.aveling@thinkmill.com.au>

* Header fixes (keystonejs#6995)

* search now always present, why keystone and updates now removed on lower breakpoints

* augmented to use auto instead of max-content in grid-template to ensure searchbox does cause the layout to overflow

* revert search input changes, since the result dialog is presently broken in mobile view

* Update docs/components/Header.tsx

Co-authored-by: Dominik Wilkowski <hi@dominik-wilkowski.com>

Co-authored-by: Dominik Wilkowski <hi@dominik-wilkowski.com>

* Initial GA content.

* Progress commit for roadmap page.

* Update roadmap.tsx

* Update roadmap.tsx

* Update Announce.tsx

* added SVG to GA announcement

* Adjusted SVG animation

* Fixed URL typo

* Added timeline items

* Content improvements

* Improvements to Roadmap page

* Changes to style and content

* Minor content changes

* Fixed links and copy for 5 > 6 guide

* Content updates to roadmap

* CSS cleanup

* Changed copy in GA announcement

* announcement copy changes

* content changes

* copy update

* Linting fixes and other tweaks.

* Update 1.Bug_report.md

* Update roadmap.tsx

* Fixed typo

* Progress commit for new release notes.

* Update 2021-12-01.mdx

* copy changes to release note

* small content change

* copy updates

* fix import

* fix copy

Co-authored-by: Mitchell Hamilton <mitchell@hamil.town>

* copy updates

* specify TypeScript type changes

* remove typescript help

* remove repeated words

* less want, more relation

* Update docs/pages/releases/index.mdx

Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com>

* copy changes

Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com>

* Slight tweaks for GA content

* Fixed page title issue on GA announcement

* Fixed "we are here" marker on roadmap

* Roadmap updates

* Fix react warnings

* revert title bad merge

* Update 2021-12-01.mdx

Co-authored-by: Jonathan Corral <johnlejardinnier@gmail.com>
Co-authored-by: Dominik Wilkowski <hi@dominik-wilkowski.com>
Co-authored-by: davidpmccormick <d.mccormick@wellcome.ac.uk>
Co-authored-by: Charles <cc.lee@live.com.au>
Co-authored-by: Ronald Aveling <luma.chroma@gmail.com>
Co-authored-by: Ronald Aveling <ronald.aveling@thinkmill.com.au>
Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com>
Co-authored-by: Mitchell Hamilton <mitchell@hamil.town>
Co-authored-by: Jed Watson <872310+JedWatson@users.noreply.github.com>
  • Loading branch information
10 people committed Dec 16, 2021
1 parent eacfe06 commit 6742d65
Show file tree
Hide file tree
Showing 15 changed files with 913 additions and 300 deletions.
3 changes: 0 additions & 3 deletions .github/ISSUE_TEMPLATE/1.Bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,8 @@ about: Create a bug report for Keystone 6.

<!-- Please add steps to reproduce the problem -->


<!-- Please describe what you expected to happen -->


<!-- Please add any screenshots if possible -->


<!-- Please add contextual information such as your node version (node -v), or the web browser you used -->
20 changes: 10 additions & 10 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ Then publish all new tags (releases plus release date version) to GitHub with `g
Copy the successful output of the published packages from the above npm release, example output:

```sh
@keystone-6/auth@27.0.0
@keystone-6/fields@11.0.0
@keystone-6/core@20.0.0
@keystone-6/auth@1.0.0
@keystone-6/fields@1.0.0
@keystone-6/core@1.0.0
```

Translate to a `package.json` style syntax for ease of copying, example:

```json
"@keystone-6/auth": "27.0.0",
"@keystone-6/fields": "11.0.0",
"@keystone-6/core": "20.0.0",
"@keystone-6/auth": "1.0.0",
"@keystone-6/fields": "1.0.0",
"@keystone-6/core": "1.0.0",
```

You can safely remove references to `@keystone-ui` as they are primarily for internal use in the Admin UI.
Expand Down Expand Up @@ -66,10 +66,10 @@ Create a draft release on GitHub based on the above tag (such as 2021-11-02) wit

Update the following:

- Summary headline of what's in the release (can be updated later)
- The Keystone website link
- Packages output
- Verbose release notes link
- Summary headline of what's in the release (can be updated later)
- The Keystone website link
- Packages output
- Verbose release notes link

````
[summary headline]
Expand Down
6 changes: 3 additions & 3 deletions docs/components/Announce.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ export function Announce({ children, ...props }: AnnounceProps) {
css={{
'--focus': '#fff',
// standard styling (blue)
background: 'var(--brand-bg)',
// background: 'var(--brand-bg)',
// special styling (orange gradient)
// backgroundColor: 'var(--grad4-2)',
// backgroundImage: `linear-gradient(116.01deg, var(--grad4-2), var(--grad4-1))`,
backgroundColor: 'var(--grad4-2)',
backgroundImage: `linear-gradient(116.01deg, var(--grad2-2), var(--grad2-1))`,
color: 'var(--brand-text)',
padding: '1rem',
textAlign: 'center',
Expand Down
35 changes: 15 additions & 20 deletions docs/components/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,22 +69,6 @@ function Logo() {
<Highlight>Keystone 6</Highlight>
</a>
</Link>
<span
css={{
display: 'inline-block',
padding: '0 var(--space-xsmall)',
borderRadius: '0.25rem',
background: 'var(--code-bg)',
color: 'var(--code)',
border: '1px solid var(--border)',
fontSize: 'var(--font-xxsmall)',
fontWeight: 400,
lineHeight: '1rem',
marginLeft: 'var(--space-medium)',
}}
>
preview
</span>
</div>
);
}
Expand Down Expand Up @@ -265,9 +249,20 @@ export function Header() {
>
<SearchField />
</div>

<LinkItem href="/why-keystone">Why Keystone</LinkItem>
<LinkItem href="/updates">Updates</LinkItem>
<span
css={mq({
display: ['none', null, 'inline-block'],
})}
>
<LinkItem href="/why-keystone">Why Keystone</LinkItem>
</span>
<span
css={mq({
display: ['none', null, 'inline-block'],
})}
>
<LinkItem href="/updates">Updates</LinkItem>
</span>

{/* TODO: Add in search for mobile via this button */}
{/*
Expand All @@ -292,7 +287,7 @@ export function Header() {
shadow
css={mq({
'&&': {
display: ['none', null, null, 'inline-flex'],
display: ['none', null, 'inline-flex'],
},
})}
>
Expand Down
4 changes: 3 additions & 1 deletion docs/components/Markdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@ export const components = {
export function Markdown({
children,
description,
title,
...props
}: {
children: ReactComponentElement<any>;
description: string;
title?: string;
}) {
const headings = getHeadings(children.type().props.children);
const firstHeading = headings[0]?.label;
const firstHeading = title || headings[0]?.label;

if (!firstHeading) {
throw new Error('The DocsPage component requires a `title` prop');
Expand Down
8 changes: 3 additions & 5 deletions docs/components/Page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,9 @@ function Announcement() {
// standard announcement
return (
<Announce>
Keystone 6 is in <Link href="/updates/roadmap">Community Preview</Link>! For Keystone 5 docs
visit{' '}
<a href="https://v5.keystonejs.com" rel="noopener noreferrer" target="_blank">
v5.keystonejs.com
</a>
<strong>
Keystone 6 is now in <Link href="/updates/general-availability">General Availability</Link>!
</strong>
</Announce>
);
}
Expand Down
8 changes: 4 additions & 4 deletions docs/components/docs/Navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,10 @@ export function UpdatesNavigation({ releases = [] }: { releases: string[] }) {
</Section>
) : null}
<Section label="Featured News">
<NavItem href="/updates/general-availability">
<Emoji symbol="🎉" alt="Party Popper" />
&nbsp; General Availability Release
</NavItem>
<NavItem href="/updates/new-access-control">
<Emoji symbol="🔐" alt="Padlock" />
&nbsp; New Access Control API
Expand Down Expand Up @@ -262,10 +266,6 @@ export function UpdatesNavigation({ releases = [] }: { releases: string[] }) {
<Emoji symbol="🧪" alt="Test Tube" />
&nbsp; New Examples Collection
</NavItem>
<NavItem href="/updates/keystone-5-vs-keystone-6-preview">
<Emoji symbol="ℹ️" alt="Information" />
&nbsp; Keystone 5 vs 6
</NavItem>
</Section>
</nav>
);
Expand Down
24 changes: 12 additions & 12 deletions docs/pages/releases/2021-11-02.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ With this in mind, Keystone will now go back to using the **GraphQL Playground**

We have now introduced the `graphql.playground` config option, with three possible settings:

- `true` will configure Apollo Server plugins to enable the GraphQL Playground
- `false` will configure Apollo Server plugins to disable any `GET` requests to the GraphQL endpoint
- `'apollo'` will add no plugins to Apollo Server, enabling the new Apollo Sandbox behaviour
- `true` will configure Apollo Server plugins to enable the GraphQL Playground
- `false` will configure Apollo Server plugins to disable any `GET` requests to the GraphQL endpoint
- `'apollo'` will add no plugins to Apollo Server, enabling the new Apollo Sandbox behaviour

`graphql.playground` defaults to `process.env.NODE_ENV !== 'production'` which matches the previous Keystone 6 behaviour before the October update and Apollo Server 3.

Expand Down Expand Up @@ -117,13 +117,13 @@ We've made internal changes to the `endSession` field on the `Mutation` type and

## Miscellaneous Fixes <Emoji symbol="⚙️" alt="Gear" />

- The `sessionSchema` export of `@keystone-next/keystone/session` has been removed.
- `context.session` no longer has a value if the session is invalid.
- `text`, `integer`, `float` and `decimal` on the item view now render correctly when using `ui.itemView.fieldMode: 'read'`.
- Admin UI home page now respects `ui.hideCreate` and won't show a plus button when create is disabled.
- Read-only arrays are now accepted where previously mutable arrays were required. Using `as const` when writing an array and then passing it to various APIs in Keystone will now work.
- Fixed bug in `LinkToRelatedItems` button for double sided relationships.
- Updated minor typos in GraphQL errors.
- The `sessionSchema` export of `@keystone-next/keystone/session` has been removed.
- `context.session` no longer has a value if the session is invalid.
- `text`, `integer`, `float` and `decimal` on the item view now render correctly when using `ui.itemView.fieldMode: 'read'`.
- Admin UI home page now respects `ui.hideCreate` and won't show a plus button when create is disabled.
- Read-only arrays are now accepted where previously mutable arrays were required. Using `as const` when writing an array and then passing it to various APIs in Keystone will now work.
- Fixed bug in `LinkToRelatedItems` button for double sided relationships.
- Updated minor typos in GraphQL errors.

## Prisma Update <Emoji symbol="🗃" alt="Card File Box" />

Expand All @@ -133,9 +133,9 @@ Check out the [Prisma releases page](https://github.com/prisma/prisma/releases)

## Credits <Emoji symbol="💫" alt="Circle Star" />

- Added a short plain-text display to `document` fields in the `List` view as well as a rendered document view in `CardValue`. Thanks [@oplik0](https://github.com/oplik0)!
- Added a short plain-text display to `document` fields in the `List` view as well as a rendered document view in `CardValue`. Thanks [@oplik0](https://github.com/oplik0)!

- We now support extensions with numerical characters when generating safe filenames. Thanks [@Zlitus](https://github.com/Zlitus)!
- We now support extensions with numerical characters when generating safe filenames. Thanks [@Zlitus](https://github.com/Zlitus)!

## Complete Changelog <Emoji symbol="📜" alt="Scroll" />

Expand Down
105 changes: 105 additions & 0 deletions docs/pages/releases/2021-12-01.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import { Markdown, getStaticProps } from '../../components/Markdown';
import { Emoji } from '../../components/primitives/Emoji';
import { Stack } from '../../components/primitives/Stack';

# Release: 1st December 2021

This release marks the achievement of **General Availability** status for Keystone 6! <Emoji symbol="🚀" alt="Rocket"/>

We’ve also included a range of improvements to Keystone’s TypeScript DX since shipping [last week’s release candidate](/releases/2021-11-24).

## Keystone 6 <Emoji symbol="⚡️" alt="Lightning" />

With this major release, the project has moved to the `@keystone-6` namespace on npm, and our version numbers have been reset.

We **highly recommend you upgrade** your existing **Keystone Next** projects to **Keystone 6** with the packages below:

```json
"@keystone-6/auth": "1.0.0",
"@keystone-6/cloudinary": "1.0.0",
"@keystone-6/document-renderer": "1.0.0",
"@keystone-6/fields-document": "1.0.0",
"@keystone-6/core": "1.0.0",
"@keystone-6/session-store-redis": "1.0.0",
```

?> **Note:** `@keystone-next/keystone` has been changed to `@keystone-6/core`

Among other internal naming changes, our CLI commands have switched from `keystone-next` to simply `keystone`, please ensure you update your startup scripts to suit!

!> To learn more about this major release and what’s in store for the road ahead, checkout our official [general availability announcement](/updates/general-availability) and updated [roadmap](/updates/roadmap).

## Type Enhancements <Emoji symbol="" alt="Sparkles" />

We've shipped a significant update to our generated TypeScript types.

The types for your schema are stricter when your lists are contextually typed by the newly provided `Lists` types from `.keystone/types`.
This results in a smoother, type-safe auto-complete experience and stricter types for your access control, hooks, and any other code that uses a Keystone context.

For example, if you write all your lists in one object:

```ts
import { Lists } from '.keystone/types'

export const lists: Lists = {
Blah: list({...})
}
```

If you're defining your lists separately, you can do this:

```ts
import { Lists } from '.keystone/types'

export const Blah: Lists.Blah = list({
...
})
```

For a more in-depth view of what TypeScript types have been changed, see below:

- The following types have been renamed:
- `BaseGeneratedListTypes``BaseListTypeInfo`
- `ItemRootValue``BaseItem`
- `ListInfo``ListGraphQLTypes`
- `TypesForList``GraphQLTypesForList`
- `FieldTypeFunc` now has a required type parameter which must satisfy `BaseListTypeInfo`
- The following types now have a required type parameter which must satisfy `BaseKeystoneTypeInfo`:
- `ServerConfig`
- `CreateRequestContext`
- `AdminUIConfig`
- `DatabaseConfig`
- `ListOperationAccessControl`
- `MaybeSessionFunction`
- `MaybeItemFunction`
- `GraphQLResolver` and `GraphQLSchemaExtension` now have a required type parameter which must satisfy `KeystoneContext`
- `KeystoneGraphQLAPI` no longer has a type parameter
- The first parameter to the resolver in a `virtual` field will be typed as the item type if the list is typed with `Keystone.Lists` or `Keystone.Lists.ListKey`, otherwise it will be typed as `unknown`
- The `item`/`originalItem` arguments in hooks/access control will now receive the `Item` type if the list is typed with `Keystone.Lists` or `Keystone.Lists.ListKey`, otherwise it will be typed as `BaseItem`
- `args` has been removed from `BaseListTypeInfo`
- `inputs.orderBy` and `all` has been added to `BaseListTypeInfo`
- In `.keystone/types`:
- `ListKeyListTypeInfo` has been moved to `Lists.ListKey.TypeInfo`
- `KeystoneContext` has been renamed to `Context`

## Credits <Emoji symbol="💫" alt="Circle Star" />

This release would not have been possible without the support and feedback of such an awesome developer community.

We’re grateful for the ideas you bring, the help you give others, and the code contributions the you’ve made to get Keystone to where it is today.

!> Like this release? [Give us a star](https://github.com/keystonejs/keystone) on GitHub!

## Complete Changelog <Emoji symbol="📜" alt="Scroll" />

You can also view the [verbose release notes](https://github.com/keystonejs/keystone/pull/7018) for this release on GitHub.

export default ({ children, ...props }) => (
<Markdown
description="Keystone 6 has hit **General Availability**! We've shipped several more improvements since our release candidate last week."
{...props}
>
{children}
</Markdown>
);
export { getStaticProps };
6 changes: 5 additions & 1 deletion docs/pages/releases/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,14 @@ import { Status } from '../../components/primitives/Status';

# Release Notes

## 24th November 2021
## 1st December 2021

<Status look="latestRelease" />

Keystone 6 has hit **General Availability**! We've shipped some additional improvements since our release candidate last week. <Emoji symbol="🚀" alt="Rocket"/> — [Read more](/releases/2021-12-01)

## 24th November 2021

The **Release Candidate** for Keystone 6 **General Availability** has arrived! Within you’ll find numerous improvements across the project. <Emoji symbol="⭐️" alt="Gold star"/> — [Read more](/releases/2021-11-24)

## 15th November 2021
Expand Down
Loading

0 comments on commit 6742d65

Please sign in to comment.