-
Notifications
You must be signed in to change notification settings - Fork 70
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
Towards a v1.0 #557
Comments
Any thoughts on "future proofing" the API by prefixing all paths with "v1/" or something?
Are the specifications of these protocols themselves stable? |
One thing to consider is that I would like to audit the public interfaces of each crate in order to make sure there's no hidden, forgotten things that we'd be accidentally stabilizing. Regarding documentation, I would like all public items to have documentation comments (and ideally doctests). I'd recommend starting this process at the very bottom of the crate hierarchy, with interledger-packet, and stabilizing each crate only after its own interledger-* dependencies reach stability. |
Not necessary because you can always put a
Most, yes. The only one that hasn't been finished and merged is CCP (though interledger/rfcs#455 is pretty close).
Agreed. I think there's a way to have the compiler require that too.
Not a bad idea. FWIW, |
Re: "crate hierarchy", here's what our current interledger-only dependency graph looks like: Suggesting the following hierarchy:
Although auditing the features exposed by each crate could shake this up a bit; here I'm specifically thinking of service-util, where only about half of the services it exposes actually wind up using the settlement crate (and therefore the http crate transitively). Given that it remains an open question as to what to do with the service-util crate, this could suggest one potential division. An additional thing to consider is the question of whether crates ought to re-export their dependencies, in order to prevent downstream consumers from needing to explicitly depend upon those crates as well. In particular there is no crate here that imports interledger-service that does not also import interledger-packet; should interledger-service re-export the public API from interledger-packet? |
For completeness, I'm opening issues similar to #561 for the above crates. We should also discuss on a per-crate basis the upgrade plan to the new futures, if we're going to be using any compatibility helper crates etc. Should we also add per-argument docs? rust-lang/rust#57525 Any functions which are public in a crate but are not exported at the |
Update on this:
@interledger-rs/contributors thoughts? I really want to get this prioritized properly and not have us bikeshed on things of marginal value. |
I think this needs to be added to the pre-1.0 TODOs: Enforce minimum exchange rates (#273). We can't have all payments vulnerable to be stolen by intermediaries. I'd be open to implementing that unless someone else was? I also think we should consider implementing #120, but that's also possible to do backwards compatibly so it's not a huge deal if we don't. |
@kincaidoneil Yeah if you want please go ahead and tackle #273, don't think anyone's on it. I have been saying that we should not worry too much about backwards compatibility due to low usage of the software, maybe @sappenin has some input here. You could implement #120 (pretty easy PR) and just add a 'BREAKING' commit message, so that it shows in the auto-generated changelogs. |
Now that all of our desired features are done, we should make a 1.0 release imo. |
What's the release process, and who has the credentials? |
The 1.0 discussion was rekindled after I realized there never was a 1.0 release, which is good, giving us room to make breaking changes, currently tracked in #668. |
What would it take for us to release a v1.0 of the different Interledger.rs components?
Here are some of the things I would put on the list:
ilp-node
Services
interledger_service::{IncomingService,OutgoingService}
or switch to tower (Use tower-service #434)task::spawn
, as described in this blog post)interledger_service_util
/ where to put small services or how to combine themWhat else? cc @gakonst @dora-gt @bstrie
The text was updated successfully, but these errors were encountered: