Skip to content
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

v2 release tracker #147

Closed
4 tasks done
daenney opened this issue Nov 12, 2019 · 27 comments
Closed
4 tasks done

v2 release tracker #147

daenney opened this issue Nov 12, 2019 · 27 comments
Labels

Comments

@daenney
Copy link
Member

daenney commented Nov 12, 2019

This is here to aggregate issues/PRs we'd like to see in v2:

@Sean-Der
Copy link
Member

This is fantastic @daenney, thanks for starting! I will work on getting #142 done

Also can probably grab #11. I also want to introduce loss/jitter, might help bring out any bugs we have also.

@Sean-Der
Copy link
Member

@daenney @jkralik @rumpelsepp I took some time off and I would like to get this done by Sunday! I just finished releasing a new version of TURN, and would like to get this done as well. Then I can concentrate more on WebRTC.

@jkralik
Copy link
Contributor

jkralik commented Jan 30, 2020

Hi @Sean-Der

  • Bring us closer to crypto/tls #148 for this version it is good enough I think
  • Context is very nice for propagation cancellation and I used it. eg: for now I must have own layer with Context over net.Conn but if Context will be integrated directly do dtls, then I can remove the layer for dtls.

@Sean-Der
Copy link
Member

Sean-Der commented Feb 1, 2020

@jkralik that is really exciting that are using Context already! In your opinion what would be the best API/things that you want to make sure it can do?

I don't really work with the pion/dtls public API. I dropped it into pion/webrtc and I really haven't touched it since.

@at-wat
Copy link
Member

at-wat commented Feb 15, 2020

I think E2E test with openssl would be awesome to have, but not a release-blocker.
Is there any remaining API/behavior breaking change to be have?

@daenney
Copy link
Member Author

daenney commented Feb 15, 2020

I don't believe so. I've just tagged v2.0.0-rc.6 so if people want to go ahead and try that out, now would be a good time.

One thing I seem to remember though, aren't we going to have to move all our code under a v2 directory for Go modules to work correctly? Since the version past 1.x becomes part of the import path. I guess we don't need to but it'll break module unaware consumers?

@daenney
Copy link
Member Author

daenney commented Feb 15, 2020

It would be nice to fix #190 before we issue a final for v2.0.0.

@at-wat
Copy link
Member

at-wat commented Feb 15, 2020

Users disabling modules still be able to vendor the repository by any git ref and import without v2 suffix. So, I don't think it's necessary to make v2 directory.

@daenney
Copy link
Member Author

daenney commented Feb 15, 2020

Fair enough. And we do only support Go version that also support Go Modules, so I guess this is fine.

@daenney
Copy link
Member Author

daenney commented Mar 12, 2020

Alright. Officially we've done all the things we said we wanted to do for v2. However, @at-wat and I are still working on some improvements, so I'd like to hold off a bit before we tag an actual v2. I'll tag a new rc after the weekend, and unless something big comes up after that we can move to actually releasing v2.

@Sean-Der
Copy link
Member

@daenney @at-wat I am all for announcing/releasing!

It would be great to get something on twitter, we always get new eyes on the project so that is exciting :)

@daenney
Copy link
Member Author

daenney commented Mar 20, 2020

Sure. I kinda flaked on my duties here b/c $dayjob has been keeping me busy. Pandemic hasn't helped either. I'm hoping to have some time this weekend to go over one last change I want to make, and issue a new rc.

@daenney
Copy link
Member Author

daenney commented Mar 22, 2020

@daenney
Copy link
Member Author

daenney commented Mar 22, 2020

Question, do we drop Go 1.12 support now that 1.14 is out, and as such merge #158, or do we keep it in place for a bit longer? The annoying thing is that for x/ed25519 only on Go 1.13 does it wrap crypto/ed25519. So if we leave it in place, on Go 1.13 it'll use the now stdlib version of it, whereas on Go1.14 it'll fall back to x/crypto b/c they didn't put the build tags in place to allow for a longer transition. Kinda sucks.

I'm inclined to say we should keep Go 1.12 in play for now, given that 1.13 was only released half a year ago. That's not all that much time for projects to migrate. On the other hand, they can keep using pion/dtls up until us deciding to drop 1.12 by pinning to the commit before then.

Either way, we should probably add Go 1.14 to CI and fix any issues before we release a 2.0.0 final.

CI passes for dtls on Go 1.14: #232

@at-wat
Copy link
Member

at-wat commented Mar 23, 2020

I'm going to make v2.0.0-rc.9 to fix a problem with pion/webrtc pion/webrtc#1092.

@daenney
Copy link
Member Author

daenney commented Mar 25, 2020

I'd like to tag v2.0.0 on Tuesday the 31st of March.

I'm going to break Go 1.12 support, and as such merge #158. Without at least Go 1.13 crypto/x509 MarshalPKCS8PrivateKey() can't use ed25519 keys which stops us from being able to complete End-to-End testing.

If people are unhappy with this, I can do the following instead:

Let me know if there's any objections @at-wat @Sean-Der, and which of the two options you prefer.

@Sean-Der
Copy link
Member

I say we break 1.12, if users need to support older versions they can pin still at least!

It just adds a burden on us to support it (and that time could be better spend elsewhere) I think my vote only counts as 1/2 though. You and @at-wat do so much more then me :)

@daenney
Copy link
Member Author

daenney commented Mar 25, 2020

I'm mostly concerned about inadvertently breaking something in the webrtc parts of Pion. I have no exposure to that, trying to be careful not to cause problems for the rest 😄.

@Sean-Der
Copy link
Member

Appreciate the thought :)

I say don't worry about it, since the public API isn't changing they can just pin to an older version! If anyone brings it up in Slack I will just tell them to pin to the last RC.

@at-wat
Copy link
Member

at-wat commented Mar 26, 2020

I have no objection to immediately drop Go 1.12.
I'll merge pion/.goassets#15 and sync asset files.

@at-wat
Copy link
Member

at-wat commented Apr 11, 2020

I'm going to create rc.10 pre-release. I believe it's ready for v2.0.0.

API changes (make it closer to crypto/tls)

Fix

@daenney
Copy link
Member Author

daenney commented Apr 11, 2020

Given the Easter holidays in some parts of the world lets tag v2.0.0 on Thursday?

@igolaizola
Copy link
Member

Given the Easter holidays in some parts of the world lets tag v2.0.0 on Thursday?

Should we wait more to tag v2.0.0?

@daenney
Copy link
Member Author

daenney commented Apr 21, 2020

I'm not aware of anything holding us up, so I think we're good to go. This whole pandemic threw me a bit of schedule and I spaced. I'll get this done this Thursday.

@daenney
Copy link
Member Author

daenney commented Apr 23, 2020

https://github.com/pion/dtls/releases/tag/v2.0.0

@daenney daenney closed this as completed Apr 23, 2020
@glerchundi
Copy link

Fantastic team work!!!

@at-wat
Copy link
Member

at-wat commented Apr 25, 2020

Thanks for your work!
I'll add the details of the security fixes to the release note.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants