Can’t find any “official” explanation, but latest build of Julia 0.7 has both - nothing::Nothing and missing::Missing values.
It has also been discussed several times that now small unions like Union{T, Nothing} or Union{T, Missing} are reasonably fast and may be used instead of Nullable{T}.
instead, it’s for someone else who is coming to julia today. they see that 0.6.2 is the stable system, and start learning it. except when 1.0 comes around, they will have to unlearn again what they just learned. if they had seen such a note, they may have said to themselves “skip this chapter and spend the time experiment on the next one instead.”
But then why do this for Nullable and not for the dozens of deprecations mentioned in NEWS.md? And most deprecations (including for Nullable) do not work on 0.6, so mentioning them would just confuse newcomers. At this point to only solution to this problem is to release 0.7.
I think we should indeed plunk down a tiny note like this for major removals everywhere. This is not just for 0.6.2. It will also be the case in the future, >1.0, when major aspects are deprecated. Not a big write—just a boilerplate sentence with a warning icon. done.
([novice] users are not encouraged to use/read 0.7.)
I am not so sure, never seen this anywhere, except for the self-explanatory labels “stable” and “unstable”. No one is discouraged either. I don’t think that the line between “user” and “developer” is so clearcut for the community which uses v0.* releases.
However, if someone would rather ignore the work-in-progress nature of Julia, they should not worry about deprecations either. When v0.7 is released, users will have time to update their code. Until then, forward-looking deprecations are just a distraction for them.
These are bleeding-edge binaries of the latest version of Julia under development,
which you can use to get a preview of the latest work. The nightly builds are for
developer previews and not intended for normal use. You can expect many
packages not to work with this version. Most users are advised to use the latest
official release version of Julia.
I think this qualifies as ([novice] users are not encouraged to use/read 0.7.)
for existing code, I would not worry about deprecations. for new code, a blip on the docs for ephemeral features would be a helpful shoutout. (and, without your help, tamas, I would have given up a while ago…)
The nature of 0.7 is rather special as after that there will be no breaking changes until 2.0. The release of 0.7 is imminent, so at this point it would definitely be worth familiarizing yourself with its documentation somewhat. If you are still using 0.6 I would recommend writing only 0.6, 0.7 cross compatible code using Compat.jl and abandoning 0.6 altogether as soon as 0.7 is officially released.