Wasn’it planned from the beginning that breaking changes will be had before the final 1.0 release?
No, it was planned that breaking changes caused by new features would’ve been had before the feature freeze, which was a while ago.
Things are just as they are intendended to be,
No, if they were, Julia 1.0 would have been out some months ago.
and then they will be stable after.
And when would you plan to spend time making sure they are stable? After the release?
How could you make sure if even on RCs there can be new breaking changes caused by new features (however small they may be), not caused just by bug fixes?
Seems like a good thing to me.
Seems bad to me, I expect lots of quick fixes during 1.x “stable” release, all the new breaking features, should have targeted 2.x.
If there are any bugs, and their fixes are breaking we will have to live with those bugs until 2.x
I mean, it’s not the end of the world, and 1.0 will go out with more and better implemented features (not properly tested by the community ecosystem as a whole), so I can understand why some developers and users are getting tired of it.
Dev → Freeze → Alpha → Beta → RCs → Release → Reiterate
In order to get from “free” development to a stable release, a stabilization period is needed in each release cycle.
This period is divided in many sub-phases (as much as needed), with the sole purpose of each next phase being more stable (feature wise) than the last one.
This stabilization is started by a feature freeze, after which, only bug fixes should be allowed, some fixes may cause breaking API changes, but still, any new features (specially the breaking ones) should continue being developed in development branches (for the next release (2.x)).
In this sense the Julia release cycle, even when meaning to use the same terminology and bending their semantics, is very atypical, sometimes very rushed, sometimes too lax, with little communication to users outside of core dev circles, and I’ll timing of announcements vs decisions.
I am not ungrateful, I really admire the work done on Julia and the devs.
I hope we can all learn of this first major release cycle, to time and communicate intentions better, and have more discipline in self imposed dead lines like feature freezes.
Yet I can not agree that things are just as they were intended to be, unless you think the 1.0 feature freeze and the 1.0 release will be the same event (because new features even if non breaking at RCs time means there is still not a proper feature freeze).
That being said I truly believe time doesn’t matter anymore, just take your time, to test everything properly, I hope many many RCs are released along the way, and that the last one won’t introduce any last minute minor breaking or non breaking features at all, just bug fixes.
Give people time to adapt, don’t play with their efforts and expectations, those are worth too! If you make any wrong decisions or announcements, learn to retract them (not apologize), don’t just go on with it and pretend it’s normal.