-
Notifications
You must be signed in to change notification settings - Fork 160
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
Latest update to tinystr
breaks compilation
#2428
Comments
It's possible that tinystr 0.6.1 unintentionally broke old ICU4X versions, which is unfortunate, and we should probably investigate. However, to get unblocked, please make sure you are using ICU4X 1.0.0-beta1 which definitely does work with the latest tinystr. |
Well, we could theoretically start using a beta version, but following semver, if the crate is backwards incompatible, the new version should be 0.7.0, not 0.6.1. A Also, the "latest version" in crates.io is 0.6, since the beta versions are not considered as "latest", but if somebody uses the crates.io version, it won't work. I would suggest to yank 0.6.1 and release 0.7.0, making icu 1.0 depend on the latter. |
We haven't been as careful as we should be with 0.x versions. I agree that we should fix this, but the workaround is to use the latest version of icu4x, which I'm saying is 1.0.0-beta1. I wish I could update that on crates.io but it doesn't allow that. But I agree, I'll look into fixing the tinystr release. |
Okay I think I found the problem. The API of the I published Here is the commit: 19dd573 I'm going to keep this issue open because we should publish |
@Manishearth Should we yank the broken release (0.6.1) or is it okay now that 0.6.2 is fixed? |
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel neccesary. ---> This Pull Request removes two dependencies that were not really needed, and fixes #2244 by no longer having the package in the dependency tree. It changes the following: - The `structopt` dependency in `boa_tester` has been replaced by `clap` v3, the same way as we did in `boa_cli`. This means that we have one less dependency (at least), and that `clap` v2 is only used as a dev-dependency by `criterion` (which will probably be removed in 0.4, as per bheisler/criterion.rs#596). - The no-longer-updated `num-format` dependency has been removed from `boa_tester`. We were only using it to add comma thousands separator on results, so I added a simple function to do it (not very performant, but it will only be used a few times when showing results). Looking at this, I noticed a couple of things: - The `csv` dependency, used by `criterion` has not been updated in more than a year, and it's using a very old `itoa` dependency. They updated the dependency in the repository in March, but unfortunately, the release is taking some more time than expected, and a tracking issue can be found here: BurntSushi/rust-csv#271 - `cargo update` fails, because the latest update to `tinystr` in the ICU4x breaks ICU4x 0.6. I have reported this here: unicode-org/icu4x#2428 and their recommendation is for us to use a beta version of the library, but I don't think we should go for that, since this is a semver breakage.
We should yank the broken release, yes |
Also I think we did a breaking update for all utils in our beta but it may be worth doing it again for the release just in case (or I can do a quick audit). |
I can confirm that tinystr 0.6.2 fixes the issues with icu 0.6. We will go for icu 1.0 as soon as it's released :) a bit earlier probably to provide some feedback. Thanks! |
I just tried to do a
cargo update tinystr
in Boa, after doing acargo update
and seeing that the whole project fails to compile. It turns out that the v0.6.0 -> v0.6.1 update of tinystr breaks the compilation of multiple icu crates:Error log
Build environment:
OS: macOS Monterey 12.5.1, on Apple Silicon
rustc -v -V
:The text was updated successfully, but these errors were encountered: