ninenines / gun

HTTP/1.1, HTTP/2, Websocket client (and more) for Erlang/OTP.
ISC License
891 stars 232 forks source link

Is it possible to release the 2.0.0-pre.1 to Hex? #218

Closed jeffgrunewald closed 4 years ago

jeffgrunewald commented 4 years ago

Hi!

Is it possible to release the 2.0.0-pre.1 version of Gun to hex with its dependency on Cowlib pinned to 2.8.0 explicitly? Or at least create a git tag (2.0.0-pre.2?) with that pin?

I am trying to use gun in a websocket project but the 1.3.1 release is out of date for my needs while other libraries elsewhere in the stack (cowboy primarily) are not compatible with cowlib 2.6.0 that the current hex release uses and I am getting a dependency mismatch between the 2.8.0 version used by the current cowboy and the reference to the tip of master that the gun 2.0.0-pre.1 uses.

Thanks!

essen commented 4 years ago

In my current plans the pre.2 tag is at least a month off because I am adding a cookie store mechanism and it's a fairly big addition. I am currently adding tests for this feature. I am not sure the development will be far enough to pin Cowlib but I can make an exception.

I'm not sure why you can't just set the dependency version yourself though, both 2.0.0-pre.1 and 1.3.1 should work fine with Cowlib 2.8.0.

If you really need a new version then you can either become a paying customer or sponsor the project to cover for the time spent. Work currently done for sponsors and customers include a 1.3.2 release with a bug fix (no change in dependencies), and the cookie store and general work remaining on Gun 2.0. You can use the contact info on https://ninenines.eu/ for that purpose.

jeffgrunewald commented 4 years ago

Thanks for the response. One complication of our setup is that our app is an elixir umbrella so all of the dependencies have to match across all sub-applications. I should be able to overcome this by setting override: true in a few places but the application still won’t compile within one subapp and I’m still trying to sort out why although I suspect a dependency mismatch of sorts.

I am having issues with version 1.3.1 of gun as it either doesn’t support or has a different way of validating the protocols: [http: %{version: :"HTTP/1.1"} but I can also play around with that and see if I can get it working on the older release (which would avoid a dependency override since Tesla requires 1.3 and that is also elsewhere in our stack)

I’ll play around with various options and see if I can close this issue myself soon.

Thanks for your work!

jeffgrunewald commented 4 years ago

I was able to resolve this issue by rolling back to the 1.3 version of gun and making some modifications to the protocol handling. thanks again