bytecodealliance/wac

Future crates.io release

juntyr opened this issue · 6 comments

Thank you very much for developing this crate, it has been really helpful to me! I was wondering if you have a timeline for when the first version might be published to crates.io ? Keep up your great work!

Hi @juntyr.

It'll probably be a little bit of time before we have it published to crates.io, as first I need to transfer this repository over to the Bytecode Alliance and there's a bunch of fit and finish work to get done, including a proper API for composing components together without having to parse WAC source files (analogous to the CompositionGraph primitive from the wasm-compose crate).

Thanks for the rough timeline! Perhaps the API doesn't need to be finished before publication and additional 0.x releases can be published later (or even just patch releases if a new API addition is fully backwards compatible)?

including a proper API for composing components together without having to parse WAC source files

That will definitely be a nice feature, at the moment I am still just creating the WAC string in memory and then parsing that :)

Thanks again for your work on this crate!

I've initiated the proposal for transferring this repository to the Bytecode Alliance organization.

Once that completes, I don't see the harm in setting up the automated crate publishing and cutting an initial 0.1.0 release of the crates and continue to publish new versions when more and more features come online.

The repository has now been transferred to the BA.

I have a large change incoming to wac-parser to base it off of wac-graph for its internals; once that's merged, I think we'll publish a 0.1.0 release.

That’s fantastic progress, thanks for the update! Is the wac-graph API already in a stable-ish state so I can transition my code to it? It would be nice to do so before 0.1.0 hits so I can provide some feedback from my usecase

The upcoming changes I mentioned will include some refinements to the wac-graph API, but nothing major (primarily around splitting the singular Error type into operation-specific error types to allow wac-parser to better map graph errors to AST resolution errors; also turns some "correctness" errors into panics, e.g. mixing ids between two different graphs or passing dangling ids).