-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
0.4 roadmap #11536
Comments
I'm going to move all strictly-bug and -performance issues from the 0.4 milestone to 0.4.1. |
Better to keep the distinction clear between 0.4.x and 0.4.1, otherwise that's going to get really annoying when it's time to actually tag 0.4.1 as a bugfix release. |
Yes, I think I meant 0.4.x. |
I really hope we can keep #9147 in 0.4-release... this one just bit me again. |
Why is #9147 on the release roadmap? Of all the changes to make it does not really seem to be the most pressing one, and it can always be added in the future as a non-breaking change. |
I'd really like to have it, but you're right that it's non-breaking and technically doesn't need to be release blocking. |
It's not critical to the release but it's a security-significant change that fixes an issue that's caused large amounts of grief to various packages. In the event we don't get this into the release (which would be a tremendous shame) would you be amenable to a documentation PR that states, effectively and emphatically, DO NOT TRUST UNINITIALIZED VARIABLES? I should add that it's a relatively old issue as well, initially raised by none other than Ron Rivest himself (who might happen to know a bit about the security implications here :) ). |
I don't see why zero fixes it though. At least garbage is obvious most of the time (we could actually have a guaranteed garbage mode as a debug thing to spot usage of unintialized stuff). For example I use a small integer field as a flag for some things and zero has a very special meaning. I find it dangerous to assume that zero is always a safe choice. |
@carnaval I really think we should keep the discussion of the merits of the approach in the actual issue thread itself so we don't get two distinct threads. |
Yes, please see the discussion in that issue, where many such points have been covered. |
What about Unicode bug fixes? 😀 |
@ScottPJones, bug fixes are great for bug fix releases :) It's mainly breaking, larger behavior changes, syntax changes, etc. that are important to get in before an official 0.4 release so that those features are available for the entire 0.4.x release cycle where pretty much only bug fixes/performance improvements are allowed. |
What does "bare doc strings" mean? |
"bare doc strings" means being able to use plain strings in void context to provide doc strings instead of needing to use |
@quinnj But if the code is already ready, and many people have already said it should go in? Bug fixes help move the language forward also, they make the language more reliable. |
This issue is about which major breaking issues are going to determine scope completion for moving from 0.4-dev to 0.4-pre (feature freeze). Non-breaking bug fixes can continue at any time, though we will be especially conservative about only committing fixes for release-blocker bugs as we get closer to tagging the release (after branching for release-0.4, for example). |
@ScottPJones, it's likely that there will be weeks/months between feature freeze and release, and the enthusiasm for bugfixes is especially high during that period. Let's keep this issue focused on breaking changes. |
@timholy Since certain people have said that they think my bug fixes might be breaking, wouldn't that mean that those changes definitely should go in earlier, rather than later? |
Bare doc strings are essential for package help, and I really would like to see those happen as part of the 0.4 release. |
There are 20 items in all marked as 0.4.0. Should we trim that label to "must do" items from this issue, and mark any important bug fixes slated for 0.4.0 to 0.4.x? That way, there is a clear line of sight to the 0.4 release. |
👍 to bare doc strings |
👍 to bare doc strings here also |
I think Jeff already did that to a large extent. Anything he left in 0.4.0 was probably for good reason? |
Given that @lindahua is busy, is SparseVectors realistically possible? Perhaps it fits well with the Arraymageddon release anyways. |
Also, I am not sure we can take vector transposes seriously in 0.4, and Arraymageddon is the right release for it anyways. |
Range indexing producing subarrays is another thing that should be in the Arraymageddon release. |
Probably true on all counts. I'd personally like to see SparseVectors sooner assuming they could be finished in time before feature freeze, but it's not worth holding up a release over. |
Yeah just need a path towards what to do on #12489 and the related doc fixes. |
There's also the "bindings" part of #12088 that would avoid documenting constants by their value rather than name. @one-more-minute would that be simple to split out? |
Oh, we also still need to do something about #9079 (comment), freezing due to files with the same names as packages isn't an acceptable thing to do to users. May or may not need to block RC1 for that, but it definitely needs fixing before final. |
I think release candidates sounds like a finished product without known blocking issues. When 0.3 was released, we used the
I'd like to see |
I like the idea of pre releases. We could announce a feature freeze shortly and start with pre releases, switching to RCs then. This will also shorten the RC cycle. |
I also like the idea of getting a pre-release out right away, so that package authors can start preparing for 0.4 and start plugging into the new doc system. |
I also wonder if someone should be appointed as a release manager for this release, to make sure all the things happen. @tkelman is the natural choice, but he may not want further distractions in the last phase of his PhD filing. |
@MichaelHatherly sure, should be simple enough to pull out the bindings commit and redo the macro. I can't compile Julia easily right now so if you're interested go ahead. Would also be good to remove the |
RC should really be just that, a real candidate for release, so no known bugs (at least, bugs that people intend to have fixed upon release), so definitely it should be -pre, after feature freeze and branch off of master. |
@one-more-minute I'll have a look at it. Have you had a chance to take a look at #12511? Just rebasing it now. |
Ah hadn't seen that, will take a look ASAP |
How different would a pre-release be than our usual nightlies? I think now would be a good time to mark a feature freeze by changing If someone wants to help with a simple but slightly tedious issue, the line numbers in |
Pre-release in my mind is feature freeze, and is basically an open invitation for the "engaged" community to dive in (e.g. package devs). The RC is the risk-tolerant people, wider set. Not sure if I'm just making things up. |
@IainNZ "Release candidate", at least in my experience, has a very specific meaning, it should be something that, barring new bugs found in testing, will become the next release. |
I would guess that a prerelease has a git tag and an announcement, which the nightlies doesn't have. The important part is that we begin to encourage users to check out 0.4, as we will stop pushing breaking changes that require users to change their code (unless they depend upon buggy behavior) |
Is #12435 also on the critical path here? |
Ref #12489 (comment). IMO no. |
Anything (many doc fixes still necessary before rc or final though) |
Would be great if @JeffBezanson would take a peek at #12544 and decide if it makes 0.4 or not. But mostly I'm excited about getting it out the door! |
Hopefully improving line numbers is not considered a breaking change, so not urgent for 0.4.0. |
Sounds good to me. |
Given the feature freeze, time to bump to 0.4.0-pre? |
I am not sure whether the list is ordered by importance. However, I want to James SJ Kim On Thu, Aug 27, 2015 at 8:20 PM, Miles Lubin notifications@github.com
Best regards,
|
The list in the top post is meaningless at this point, features for 0.4 are frozen. Should probably close this issue since the scope has been determined, open a new one if necessary explicitly for tracking RC blockers. |
@jskDr, I don't quite understand your comment about python, but there is an |
Oh, really. I didn't know that. I will use OrderedDict whenever I need. James SJ Kim On Thu, Aug 27, 2015 at 10:45 PM, Kevin Squire notifications@github.com
Best regards,
|
(Mostly off-topic, sorry.) The "ordered dict" item above was whether or not to replace the current Also, just to be clear, in Julia (For anyone coming from C++, this might be confusing, as the default |
Done:
Remaining:
make [a,b] non-concatenating (syntax: separate array concatenation from array construction #7128)Potential:
No consensus reached:
ordered dicts? (WIP: try ordered Dict representation #10116)zero initialization? (zero out memory of uninitialized fields #9147)Deferred:
defer method ambiguities to runtime?change constructor syntax? (cc @JeffBezanson)The text was updated successfully, but these errors were encountered: