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

Next breaking release #382

Closed
6 tasks done
timholy opened this issue Apr 16, 2024 · 10 comments
Closed
6 tasks done

Next breaking release #382

timholy opened this issue Apr 16, 2024 · 10 comments

Comments

@timholy
Copy link
Owner

timholy commented Apr 16, 2024

If I'm not mistaken, #379 and #381 are breaking changes. Before the next release, I'd propose we:

Other thoughts?

@aviatesk
Copy link
Collaborator

Thanks for putting together the list. Let's focus on finishing it for now. We might come across additional tasks as we go along.

@mkitti
Copy link
Contributor

mkitti commented Apr 16, 2024

In #379 we eliminated the compat declaration for JET.jl. I'm not sure if that was necessary since you can also keep a compact section as long as you also add the package to extras:
https://pkgdocs.julialang.org/v1/creating-packages/#Weak-dependencies

Also, since we are restricting to Julia 1.10 and above here though, perhaps we can restrict the JET.jl compatibility to tighter bounds that make sense for Julia 1.10?

@mkitti
Copy link
Contributor

mkitti commented Apr 16, 2024

Regarding release time, releasing this when Julia 1.11 comes out should be an objective. I'm not sure how long we have until then or if we have sufficient time to accomplish our goals above. While I see that we are trying to aggregate breaking changes and this is a good goal, I think that should be secondary to have a working package for a released and stable version of Julia.

@timholy
Copy link
Owner Author

timholy commented Apr 18, 2024

If needed I think we could get this out by next week. Given the number of open milestones for Julia 1.11 I don't think it will be hard to have this ready in time for 1.11.

@aviatesk
Copy link
Collaborator

I support releasing version 3.0 as soon as we're ready, regardless of when 1.11 is released.

@timholy
Copy link
Owner Author

timholy commented Apr 20, 2024

The only really big job now is rewriting the documentation. SnoopCompile 2.x was written when we didn't cache native code and didn't have PrecompileTools, and I suspect that this assumption is pervasive in the documentation.

For example, much of the documentation focuses on fixing inference problems, because before PrecompileTools there wasn't a good way to ensure that type-inferred got stored in the cache unless the chain of inference was unbroken. That's not nearly so relevant anymore. Conversely, what is relevant now is the edge-case of missing precompiled code because the package calls a method during module-definition outside a @compile_workload. Explaining what can go wrong there and how to detect and fix it is not covered in the current documentation, and should be.

@oscardssmith
Copy link

What's the status on this? I was just updating packages and realized that it is not currently possible to have latest versions of both JET and SnoopCompile installed.

@timholy
Copy link
Owner Author

timholy commented Jul 2, 2024

The status is revealed in the checklist above. The only scary one is "update documentation" because there's a huge amount of documentation, and since precompilation the whole landscape has changed.

@timholy
Copy link
Owner Author

timholy commented Jul 2, 2024

But with 1.11 nearing release, I'm motivated to fix this, so it won't be long now.

@timholy
Copy link
Owner Author

timholy commented Jul 24, 2024

All done! 3.0.0 is on its way out: JuliaRegistries/General#111692

@timholy timholy closed this as completed Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants