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

Release 0.12 #675

Closed
c42f opened this issue Oct 22, 2019 · 8 comments
Closed

Release 0.12 #675

c42f opened this issue Oct 22, 2019 · 8 comments
Labels

Comments

@c42f
Copy link
Member

c42f commented Oct 22, 2019

There's a lot of cleanups done in the last few months thanks to many people and we need a new release. It contains a few deprecations but there's still a couple of things unresolved at #532 so this will be 0.12.0.

TODO for 0.12.0:

Here's some useful release notes which were generated for 0.11.1 by tagbot but which largely don't actually apply to the 0.11.1 release:

v0.11.1 (2019-10-16)

Diff since v0.11.0

Closed issues:

@c42f c42f added the release label Oct 22, 2019
@c42f c42f closed this as completed Nov 3, 2019
@c42f
Copy link
Member Author

c42f commented Nov 3, 2019

@KristofferC
Copy link
Contributor

Just pointing out that this is a very popular package and releasing breaking versions will take some time to trickle down downstream. https://gist.github.com/KristofferC/7c8048e2ee9aaa465966caeb98c1446a shows how many packages upper bounds a certain package to not the latest version and in another file what packages does that. StaticArrays is the package most upper bounded of all packages (with the recenet release of 0.12).

@c42f
Copy link
Member Author

c42f commented Nov 8, 2019

Thanks @KristofferC for pointing that out. I noticed this myself to some extent when the resolver decided my local environment was inconsistent with a dev'd StaticArrays 0.12. I think this is the first time I've really seen the effect of the more reliable Pkg3 conventions in properly upper bounding dependencies.

0.12 is not very breaking, but I think there's maybe 4 or so packages which could have been affected by some deprecations so I guess everyone else is going to have to deal with bumping the upper bound :-/

Unfortunately we will need at least one more release to get to a 1.x release series (even if there's nothing breaking which is outstanding, oddly enough). I guess I should make the most of it and look carefully for some other deprecations which might be desired.

@KristofferC
Copy link
Contributor

Personally I don't think a few deprecations should warrant considering the release not backwards compatible. Deprecation warnings can quite easily be fixed especially if it is just a few packages. It seems less bad than getting upper bounds from dozen of packages.

@c42f
Copy link
Member Author

c42f commented Nov 9, 2019

Well it's just not very clear cut. For many people StaticArrays performance regressions would be considered breaking changes and depwarns themselves are a massive performance regression. Julia itself considered depwarns to be breaking and left them in for one release before removing them 🤷‍♂️

Deprecation warnings can quite easily be fixed especially if it is just a few packages. It seems less bad than getting upper bounds from dozen of packages.

It's still pretty hard to get an idea of which packages those might be without some tooling for large scale testing and some infrastructure to run it on. My impression was based on some regex searching of code on pkg.julialang.org which is great as far as it goes, but only a very rough guide for these particular changes.

@timholy
Copy link
Member

timholy commented Nov 9, 2019

I do think suddenly receiving a bunch of deprecation warnings is worthy of a breaking-change tag. There's a growing number of Julia users who don't know how you'd go about fixing deprecations, despite the fact that a seasoned programmer would say that the depwarn tells you what to do. If you don't know how to dev the package, fire up the editor, make a git commit, and submit it, the depwarn can be effectively breaking.

Even if you do know all of these things, it would be bad if, say, I've put together a nice talk to give at a major symposium and then make the mistake of doing a package update right before giving my talk without running through the entire presentation.

@KristofferC
Copy link
Contributor

Even if you do know all of these things, it would be bad if, say, I've put together a nice talk to give at a major symposium and then make the mistake of doing a package update right before giving my talk without running through the entire presentation.

Well, a) don't do that, b) backup your project.

Anyway, releasing backwards incompatible releases for popular packages will always be a pain for the ecosystem so ideally as many breaking changes as possible is bundled up into one release.

@tkoolen
Copy link
Contributor

tkoolen commented Dec 7, 2019

My two cents: since this package is performance-minded, any deprecation warning should be a breaking change. In fact, I have tests in one of my packages that assert that certain operations don't allocate. Those break with deprecation warnings.

This issue was closed.
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

4 participants