rust-embedded / cortex-m-rt

Minimal startup / runtime for Cortex-M microcontrollers
https://rust-embedded.github.io/cortex-m-rt/
Apache License 2.0
358 stars 85 forks source link

Prepare for v0.7.0 #330

Closed adamgreig closed 3 years ago

adamgreig commented 3 years ago

This is mostly a changelog update, including the updates from 0.6 and adding a few missing PRs too.

I haven't yet reviewed our open issues but I'm sure there are some low-hanging fruit we should get in for this release, does anyone have any suggestions? I'm happy to update this PR a few times if we can get a few more changes landed first.

rust-highfive commented 3 years ago

r? @therealprof

(rust-highfive has picked a reviewer for you, use r? to override)

adamgreig commented 3 years ago

Oh, great, one of our dev-dependencies, compiletest_rs, depends on regex, which depends on memchr, which has started using non_exhaustive, which breaks our MSRV. Is this a semver breaking change? Hard to say. It's not in our actual dependency chain, but I don't know that we can run the CI for the MSRV without it. We're currently 1.31 1.39; this would require a bump to 1.40.

Sympatron commented 3 years ago

Since compiletest_rs depends on regex ^1.0 since version 0.3.14 it automatically updated regex <1.4.6 to regex >=1.5.0 when it was released 2 month ago this can't really be changed. And it already is a breaking change since regex 1.5.0 was released and updated from memchr ^2.2.1 to memchr ^2.4.0.

The only solution would be to change compiletest_rs dependency on regex to ^1.4.0 to keep it's MSRV lower. This would be better anyway IMO.

eldruin commented 3 years ago

I would have said the MSRV relates only to "cargo build", so not including dev-dependencies.

adamgreig commented 3 years ago

I misread/misremembered the MSRV yesterday: we're actually on 1.39.0 now, so bumping to 1.40 for non_exhaustive wouldn't be a huge change for a breaking release. In a way I think @eldruin is right, really I'd say just being able to build it should be enough, but it's very hard to know if we actually still support the MSRV if we can't run the tests on it.

Possibly we could pin the compiletest_rs dependency to an earlier version (perhaps only when testing the MSRV)?

adamgreig commented 3 years ago

Updated to skip the compiletest_rs tests on 1.39.0, but still run the build for all targets, which seems to have fixed it.

Happy to consider bumping MSRV to 1.40 instead if anyone has strong feelings.

adamgreig commented 3 years ago

It's been a month and no suggestions for any more changes to bring in, so shall we call this 0.7? @rust-embedded/cortex-m ?

thejpster commented 3 years ago

Fine by me

therealprof commented 3 years ago

Ship it.

adamgreig commented 3 years ago

bors r=thejpster

bors[bot] commented 3 years ago

Build succeeded: