Skip to content

Commit

Permalink
Update minimum version
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcrichton committed Dec 18, 2018
1 parent 4393051 commit 2285134
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ sudo: false

matrix:
include:
- rust: 1.16.0
- rust: 1.30.0
install:
script: cargo build
- rust: stable
Expand Down

4 comments on commit 2285134

@stevenroose
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

@alexcrichton
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only personally support the current stable release and prior, but PRs are welcome to preserve compatibility with older versions

@rivy
Copy link

@rivy rivy commented on 2285134 Dec 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexcrichton , I don't wish this to sound negative, but, just now, updating dependencies on uutils/coreutils breaks compilation for windows, based upon the change to using trim_start_matches from trim_left_matches that you added in 5efb75b.

I guess I don't understand the story about how to maintain compatibility in the rust crate ecosystem going forward. It seems that using cargo update to update dependencies (eg, for security, etc) will basically break things without warning. And it took me a while to find the actual problem since the base repo doesn't include "cc" as a dependency. I can see how to fix the problem by using a version gated function name for the call and I can give you a PR. But shouldn't that have been done or bumped the semver by a primary digit, acknowledging a compatibility break?

Again, I'm not trying to be negative, but what's the way forward when trying to keep dependencies up-to-date (for various obvious reasons) without breaking the build. I know crates.io is supposed to keep read-only copies of everything, but sooner or later, pulling any updates in this manner will likely pull something incompatible. And I don't want to keep the code petrified.

Maybe the minimum rust version should be listed as a dependency within all published crates, as well.

Thoughts?

Has this or should this be discussed in a public forum?

@stevenroose
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've been having a lot of issues with dependency management at rust-bitcoin as well. I think doing a rust minimum version bump like that should be a breaking change and move your cargo up a major release. Otherwise you'll always inevitable break people's software.

Please sign in to comment.