Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keystone 5 and beyond #21

Open
bladey opened this issue Feb 24, 2021 · 24 comments
Open

Keystone 5 and beyond #21

bladey opened this issue Feb 24, 2021 · 24 comments

Comments

@bladey
Copy link
Contributor

bladey commented Feb 24, 2021

Keystone 5 has officially moved into active maintenance mode as we push towards the next major new version of KeystoneJS.

What's next?

When Keystone 5 was announced in 2018, it was a great leap forward for the project from a back-end Node.js CMS platform built with MongoDB, to a modern platform with first class support for GraphQL, PostgreSQL, and more.

Keystone Next is a preview of the next major release of KeystoneJS, the most powerful headless content management system around. We've substantially rewritten the CLI, Schema config, and Admin UI to make them more powerful and easier to use than ever before.

In the last six months, we built around the existing stable core of Keystone 5's packages to test the changes we wanted to make and validate our ideas. We're now happy with what we've built, and over the course of this year, Keystone Next will become Keystone 6.

There is a lot to do, and with a larger than ever team at Thinkmill working on it, we're excited to show you what we're planning and get it shipped!

You can learn more about the next version, which is now in preview.

What happens to Keystone 5?

The Keystone 5 codebase is now in active maintenance mode and now lives at keystonejs/keystone-5.

What does maintenance mode entail?

  • You can generally expect Keystone 5 to be feature-frozen as we work on the new version.
  • Bugs, minor changes and security features will continue to be addressed and updated versions of the Keystone 5 packages will continue to be released regularly.
  • The core team is not expecting to spend time working on new features or large changes.
  • If you have a larger change you want to submit as a PR to Keystone 5, feel free to open an issue to discuss it with us.
  • We are not closing the door to community-contributed features through the maintenance period, but depending on the scope of the change and the work involved we may suggest maintaining your own fork.
  • The duration of this active maintenance mode will depend on community adoption of the new version of Keystone, and how long it takes us to reach feature parity and stability with Keystone Next.
  • We expect this active maintenance mode to last for 6 to 12 months.

Thank you for your continued support as we push towards this next major new version of KeystoneJS!

@yogex
Copy link

yogex commented Mar 8, 2021

Hi, I'm currently building an app using keystone 5 and I just notice this, will there be migration path from keystone 5 to keystone 6 (next)?

What are the things I should tread carefully when building my app with keystone 5 so that it will ease the upgrade to keystone next?

@xpmn
Copy link

xpmn commented Apr 20, 2021

@yogex I think it will be documented here: https://next.keystonejs.com/guides/keystone-5-vs-keystone-next

@thehonestcto
Copy link

We're almost at the end of the year and v6 is not even released. The 6-12 months period mentioned above has already passed then. Looking at this + the missing features in v6 compared to v5, it will take at least a year more until v6 can become a replacement, which means 2023. Having that said, we should expect bug fixes and minor adjustments to v5 until at least 2023, right? If not, please clarify. We are starting a new project and we need to know if there will be support until v6 becomes for real an alternative to v5 in terms of features and, of course, to be stable too.

@bladey
Copy link
Contributor Author

bladey commented Nov 1, 2021

Hi @zmirc,

Keystone 6 has been undergoing continuous development since this issue was posted and we are about to enter a general availability mode for Keystone 6.

The end of the maintenance period for Keystone 5 is drawing near, we are looking to archive this repository soon after the GA release of Keystone 6.

Before this happens, a maintenance release will be released to resolve a few dependency problems and update packages to resolve bug fixes and any related security issues.

For ongoing community support around the status of Keystone 6 in general please visit our Slack.

@thehonestcto
Copy link

Thanks for the reply, bladey!

As a comment, every software/IT professional knows that it's at least 1 year until a major release becomes reliable enough for production usage. GA != production ready, it's only marketing.
Having that in mind, we would expect version 5 to be maintained until this 1 year passes, in other words, until 6 will become production ready.

What you're saying is that the moment 6 is released, 5 will be archived, though 6 will not be production ready for at least a year. That leaves us with a 1 year gap of production ready maintenance. There are plenty of issues in 5 too. Everyone would benefit a lot to get 5 maintained and fixed until 6 is prod ready for real, not only by the marketing team. Let's not forget that this piece of software is aimed towards other IT professionals, which means we can't touch 6 until it becomes trustworthy regardless of the marketing speech.

So how is it going to be? Will KeystoneJS take this into consideration and do something about it or are we going to get the marketing speech?

Kind regards

@dragosstancu
Copy link

dragosstancu commented Mar 14, 2023

Hi, I'm currently building an app using keystone 5 and I just notice this, will there be migration path from keystone 5 to keystone 6 (next)?

What are the things I should tread carefully when building my app with keystone 5 so that it will ease the upgrade to keystone next?

If you're using MongoDB, you're left out.

I use Keystone in tandem with MongoDB.
I cannot believe how V6 ignores that implementation because of Prisma.
Is that a worthwhile tradeoff?!

"Batteries included. No limitations." - I see a huge limitation by dropping MongoDB support :)

@ahsantahseen
Copy link

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.

Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.

image

@ahsantahseen
Copy link

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.

Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.

image

I have updated the versions in the project but it's still not working for, can anyone let me know?

@dragosstancu
Copy link

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.
Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.
image

I have updated the versions in the project but it's still not working for, can anyone let me know?

I had the very same issue.

You're out of luck, any module update is futile.
Unfortunately and sadly, they dropped support for Keystone 4 and 5.
What I did was:

  1. create an EC2 Debian server with AWS
  2. install MongoDB 5
  3. migrate the data using MongoDB compass - open two connections

It was quite terrible, it took me a whole day!

@dragosstancu
Copy link

dragosstancu commented Apr 17, 2023

Hello Everyone, I am working with a client who has an node.js application made with keystore.js, his app stopped a while ago that's what he told me and the error it's showing is related to mongoDB driver related to keystore.js that the previous developer he hired used.
Can anyone guide me, what's going on with this? Like the version is updated by mongodb is not working with this anymore.
image

I have updated the versions in the project but it's still not working for, can anyone let me know?

Updating the code and the node_modules will require some investigative work and Node skills.
I tried for about two days and decided to cancel that and figure out a new way of fixing it.
If you're trying to fix the code, the problem is with mongodb-core and mongodb inside the subfolder node_modules INSIDE the keystone module. It's completely messed up ... module spaghetti situation.
It looks like mongodb-core is part of mongodb now.
In order to be able to fix those references in package.json, you'll need to convert keystone into a local module and then update package.json and then all the code that requires mongodb-core.

@ahsantahseen
Copy link

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

@dragosstancu
Copy link

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now.
You might want to rethink a new approach that will work with MongoDB 6.
Keystone doesn't support that anymore.

I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

@ahsantahseen
Copy link

Well his website is purely based on this, version 4 of keystone. Honestly i have never worked on keystone so it's my first time working with it. So i just connected it with a version 5 mongodb for now, since digital ocean won't change it's database version.

@ahsantahseen
Copy link

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore.

I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

@dragosstancu
Copy link

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore.
I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

Mine is like this:
MONGO_URI=mongodb://:@:/?authMechanism=DEFAULT
Usually, the port is 27017.

Make sure you use the public IP of the DB server.
Also, make sure you allow your IP (or any as 0.0.0.0) to access the DB server.
Those were critical to my EC2 setup.

@ahsantahseen
Copy link

Do i need to update my mongodb and mongoose as well?

@ahsantahseen
Copy link

image

Thank you sir, I have decided to make a dedicated cluster on version 5 now.

You're welcome. I'd say that's the easiest fix, for now. You might want to rethink a new approach that will work with MongoDB 6. Keystone doesn't support that anymore.
I'm looking at a custom approach using Fastify, GraphQL, and AdminJS. Less friction.

Can you tell me how did you got the connection string for that version, i'm trying over and over again. It connected to my local version but not the one on digital ocean, both are using version 5

Mine is like this: MONGO_URI=mongodb://:@:/?authMechanism=DEFAULT Usually, the port is 27017.

Make sure you use the public IP of the DB server. Also, make sure you allow your IP (or any as 0.0.0.0) to access the DB server. Those were critical to my EC2 setup.

image

@dragosstancu
Copy link

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4.
My package.json:

"keystone": "^4.2.1",

@ahsantahseen
Copy link

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json:

"keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

@dragosstancu
Copy link

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json:
"keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

Then there's something with the security on the DB server.

@ahsantahseen
Copy link

Do i need to update my mongodb and mongoose as well?

Just use the latest Keystone 4. My package.json:
"keystone": "^4.2.1",

I am running the same version, i tested with my local mongodb 5 on docker it worked but when i am using the digital ocean one it doesnt

Then there's something with the security on the DB server.

So i deleted the managed mongodb and set one manually on a droplet, however i need to setup tls and ssl on it, can you help me out with it, thanks.

@dragosstancu
Copy link

@ahsantahseen - I really cannot.
I don't have the knowledge and the bandwidth.
From here, Google and StackOverflow are your friends. Maybe chatGPT.

@ahsantahseen
Copy link

@ahsantahseen - I really cannot. I don't have the knowledge and the bandwidth. From here, Google and StackOverflow are your friends. Maybe chatGPT.

I got it sorted out, thanks for all your help @dragosstancu

@dragosstancu
Copy link

@ahsantahseen - that's great! You're welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants