Code Monkey home page Code Monkey logo

Comments (10)

SimonSapin avatar SimonSapin commented on July 24, 2024

I can publish a new version to fix the issue for now, but it’s going to be out of date again the next time master changes. Especially pre-Rust 1.0, there’s gonna be churn for language upgrades. So I’d rather figure out a more general way to work with crates.io. How do you deal with this in other projects? I can imagine a couple ways:

  • Let crates.io fall out of date, ignore it until Rust 1.0, and use git dependencies in the meantime.
  • Publish a new version whenever a maintainer feels like it, or someone asks for it.
  • Time-based releases: Every X amount time (a week? 6 weeks? every day?), publish whatever is in master as a new version.
  • Whenever someone pushes to master or merges a pull request to master, they are responsible to publish that change as a new release
  • Set up Travis-CI or whatever automation to publish a new release whenever master changes

When publishing a new version, one also has to decide which component of the version number to increment. This can be tricky if publication is to be automated.

Also, given that Cargo natively supports git dependency, let’s seriously consider: what is the point of even having versioned publications? It could be to take advantage of semver and get stability, but we don’t get that anyway until the language itself and the standard library are stable.

from rust-url.

SimonSapin avatar SimonSapin commented on July 24, 2024

To clarify: I’m not saying I won’t do it. I’m asking for your and everyone’s feedback on what is a good way to deal with it over time.

from rust-url.

reem avatar reem commented on July 24, 2024

I think it seems reasonable to just update every time you merge into master for now by bumping the version, though tedious, that would be the best thing going forward (until 1.0 at least).

from rust-url.

SimonSapin avatar SimonSapin commented on July 24, 2024

To be blunt: what is the benefit over using git dependencies? Isn’t this just a lot of overhead to get the same thing in the end?

from rust-url.

reem avatar reem commented on July 24, 2024

@SimonSapin Honestly I'm just psyched to start using crates.io and I'd like to use it for some new projects that aren't depended on by a lot of stuff.

from rust-url.

SimonSapin avatar SimonSapin commented on July 24, 2024

@alexcrichton @wycats Do you have an opinion on this?

from rust-url.

steveklabnik avatar steveklabnik commented on July 24, 2024

I'm basically planning on just pushing out a 0.9.x release every few days. It's just plain awkward until 1.0.

from rust-url.

alexcrichton avatar alexcrichton commented on July 24, 2024

Yes in general crates.io is going to be rocky heading up to 1.0 due to breaking changes in Rust, but I would personally do what @steveklabnik said with bumping the minor version whenever a breaking change was updated to

from rust-url.

aatxe avatar aatxe commented on July 24, 2024

I'm in the same boat here. The crates version not being updated is preventing me from pushing my own work onto crates.io.

from rust-url.

SimonSapin avatar SimonSapin commented on July 24, 2024

I’ve just published 0.2.0 which includes some breaking changes from #52. Feel free to open a new issue or ping this one if it falls out of date again.

from rust-url.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.