Closed fangpinsern closed 9 months ago
Libraries whose version are in 0.x have an unstable API. This is the case for Crossterm, which had breaking changes in 0.24 and 0.25. When Crossterm changes, it's sometimes easy to update the libraries using them. It sometimes isn't. Right now, Crossterm 0.25 has major breaking changes and may not bring immediate benefits. So I'm currently postponing an update which will force crossterm based libraries to change their API too. Right now, I'll add a compatibility note in the README and we'll keep this issue open until Termimad is changed to be compatible with 0.25 (or more recent).
Sounds good thanks!!
Since crossterm
is needed for styling - would you ever consider re-exporting the styles directly? You could potentially gate this behind a feature flag (which I would argue should be enabled by default). This error message (mismatched versions) is the most frequent error I encounter with this crate, and this crate is the only thing I need to use crossterm
directly for. It would be great if I only had to specify one dependency instead of two in order to use this crate!
The new release of Termimad, version 0.28, reexports crossterm 0.27.
To be sure of the compatibility, don't import crossterm directly but use termimad::crossterm
.
When using crossterm 0.25.0 with termimad 0.20.3, I get the following error when I followed the code example in the docs:
From this answer, it seems there there is a breaking change between
crossterm 0.23
andcrossterm 0.25
. https://stackoverflow.com/questions/74141606/cannot-compile-rust-program-due-to-e0308-error/74144038#74144038Is it possible to state what version of crossterm supported by termimad or update the library to accept the newest version of crossterm?