Comments (10)
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.
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.
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.
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.
@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.
@alexcrichton @wycats Do you have an opinion on this?
from rust-url.
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.
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.
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.
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)
- percent ("%) character must be percent-encoded as "%25" HOT 1
- Optional API to convert to http::Uri HOT 3
- Wrongly resolves ip to domain. HOT 2
- feature request: more complicated percent-encoding rules HOT 2
- feature: expose pathname publicly HOT 3
- Please add an option to not remove wellknown default ports from URL HOT 1
- Feature Proposal: Builder for Constructing New URL Instances from Parts HOT 2
- The program crashed after using the "join" function.
- Program Crash in fuzzing (assert failed in parse_path)
- `set_port`, `set_username` & `set_password` should check for a value before returning `Err(())` HOT 7
- Shouldn't `Host` be lowercase by default?
- URL pathname and search setter incorrectly strips trailing spaces
- Roadmap HOT 1
- Stabilize `debugger_visualizer` feature
- InvalidPort is returned for URLs with a '#' HOT 1
- Fix `serde::Deserialize` impl for `Url` prints confusing error message
- Feature request: Provide customary RFC 3986 encoding
- Panic in set_path HOT 1
- parse: fuzzing errors
- Long URLs can cause seemingly exponential parse times, which makes untrusted input problematic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-url.