Lexical changes accross updates #7828
Replies: 3 comments
-
|
Generally speaking, breaking changes are called out in PRs and release notes but only when they are known or expected to be breaking changes. That said, sometimes these things are not caught for whatever reason. You can never be completely confident that fixing some bug isn't going to break someone else's dependency on incorrect behavior, or that someone isn't relying on some specific implementation detail that they possibly shouldn't be. Lexical is <1.0. It does not currently guarantee a stable long term support API. The primary developers and consumers of Lexical are willing to be a bit more aggressive in tracking releases and being responsible for testing their usage of the library with new ones. For the most part compatibility is preserved, because that's easier on everyone, but sometimes it unintentionally isn't leading to situations like this one. It happens. You can avoid it by testing. We offer regular monthly releases, and even nightly releases every weekday. Another way to avoid these sort of situations is to contribute tests to lexical that match your usage of the library. In this case you could submit a PR that fixes the issue for you, and/or provide a detailed bug report about it, rather than a meta report about lexical's release policy. |
Beta Was this translation helpful? Give feedback.
-
|
Is there a roadmap for a version > 1.0? Lexical's first release was soon 4 years ago. |
Beta Was this translation helpful? Give feedback.
-
|
Nothing public, just internal maintainer correspondence that changes every year or so. There's still a lot to do, without a lot of contributors working on it. Parallel maintenance of multiple branches isn't going to make sense any time soon. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
First of all, I’d like to say thank you — I really enjoy working with Lexical, and my team and I are building an interesting product on top of it. The work you’re doing is impressive, and I truly appreciate the quality and flexibility of the framework.
That said, I’ve noticed that updates to Lexical and its plugins sometimes introduce behavioral changes that can affect production systems without being opt-in. For example, the following commit broke a feature we had in place that allowed users to insert macros into links:
👉 7422a55
To be fair, I take part of the blame for not having implemented dedicated unit tests on our side. However, my concern is that these kinds of behavioral changes in the library can create unexpected regressions in production. Ideally, such changes would be opt-in (e.g., behind a flag, configuration, or major version bump), so developers can adopt them intentionally rather than being forced to adjust existing implementations after an update.
I’d love to hear your thoughts on whether there are plans to improve versioning practices or introduce mechanisms to make breaking behavioral changes safer for downstream projects.
Thanks again for all the great work — Lexical is an amazing project and we’re excited to keep building with it!
Beta Was this translation helpful? Give feedback.
All reactions