mermaid-js / mermaid-cli

Command line tool for the Mermaid library
MIT License
2.23k stars 210 forks source link

Discontinue Node 14 and Node 16 support for mermaid-cli #618

Open MindaugasLaganeckas opened 7 months ago

MindaugasLaganeckas commented 7 months ago

Let's plan and discontinue Node 14 and Node 16 support for mermaid-cli. Why? We cannot updated some of our dependencies to the latest versions due to the restriction above. We loose the newest security and performance enhancements. The primary usecase of the mermaid-cli is to be used as a command line tool (not a shared library). @aloisklink do you have any inputs/objections? If not we could plan to implement the breaking change 2024 Q2 (just a suggestion).

aloisklink commented 7 months ago

I don't want to make any breaking changes without making a v11 release, since it's probably even more difficult for command-line users to know that they need to update their Node.JS version, since they don't have experience with the Node.JS eco-system.

I believe the "mermaid" project is planning on making a v11 release before Christmas/New Year's, so we should hopefully be able to drop Node v14/Node v16 support then too.

Then, Node v18 will be supported until 2025-04-30, so we won't have to worry about this for another 2 years. However, we could even drop Node v18 support now too, since that way we should always be ahead of our dependencies.

The only dependency I'm worried about not updating is puppeteer, although the newer versions are actually slower than the current version :laughing:

MindaugasLaganeckas commented 7 months ago

As usual super high quality input @aloisklink 😄 Do you suggest to move to Node v20 starting from mermaid v11 release? Meaning, Node v14, Node v16, Node v18 will be dropped starting from mermaid v11. If yes, then I will update the README in mermaid-cli and will post a message in Slack.

aloisklink commented 7 months ago

Do you suggest to move to Node v20 starting from mermaid v11 release?

Hmmmm, I might ask the mermaid team about this. I think it might make sense if there is a big gap between v11 and v12.

It sounds like recently, mermaid is releasing major releases once every year, so it's probably fine to continue to support Node.JS v18:

Node.JS v18 will continue to be supported all the way until 2025-04-30, so maybe we're dropping Node.JS v18 support much too quickly.

Edit: To be honest, I think the Slack notice/README.md notice is probably unnecessary as long as we're only dropping Node.JS v14/v16, and not v18, since everybody is dropping Node v14 and v16!

MindaugasLaganeckas commented 7 months ago

Ok. Rogger that :) We will drop Node v14 and v16 only with mermaid v11 release. Thank you for your inputs. :)