The Julia developers are incredibly pleased to announce that v1.0.0-rc1, the first release candidate for the first major release of Julia, is now available! Binaries for the release candidate are available for Linux (i686, x86-64), Windows (32-, 64-bit), macOS, and FreeBSD (x86-64) at Download Julia.
As a prerelease, 1.0-rc1 should not be considered production-ready. It’s intended to give developers a chance to get ready for the release of 1.0 by trying it out and testing for issues. Most users should continue to use the latest release (0.6.4 at the time of writing) until 1.0 is fully released. Please report any issues to Issues · JuliaLang/julia · GitHub.
In case you’re wondering, the primary difference between 0.7 and 1.0 is the removal of deprecations. Unsurprisingly this has proven to be rather breaking, and we’re all working hard to mitigate the issues. If you’re looking for an easy way to contribute to the Julia package ecosystem, fixing deprecations on 0.7 is a great way to start.
We hope you’re as excited about this as we are, and we hope you’ll download it and take it for a spin!
I know I read somewhere that work was being done on having Julia use a more up-to-date LLVM, and I left with the impression that it’d switch before 1.0. The README still says 3.9 though; is the plan to switch some time later on a minor version? LLVM 3.9 is currently being packaged on my system solely for Julia, and it’d be really nice to eliminate that.
I understood this, but for some reason thought that there would be a time period between the v0.7 and v1.0 releases, to allow the packages to catch up (surprisingly many, in fact, are not ready for v0.7 at the moment).
This is not looking good with Images.jl
If this is an Images problem I will open an issue over there. Please tell me that Images is .0 compatible - it is a pretty fundamental package.
Julia Windows 10 1.0-rc1
julia> using Images
[ Info: Precompiling Images [916415d5-f1e6-5110-898d-aaa5f9f070e0]
WARNING: could not import Base.atan2 into Images
WARNING: could not import Base.ctranspose into Images
WARNING: could not import Base.fft into Images
WARNING: could not import Base.ifft into Images
WARNING: could not import Base.linearindexing into Images
WARNING: could not import Base.mimewritable into Images
WARNING: could not import Base.showcompact into Images
WARNING: could not import Base.squeeze into Images
WARNING: could not import Base.reducedim into StaticArrays
WARNING: could not import Base.mapreducedim into StaticArrays
WARNING: could not import LinearAlgebra.vecdot into StaticArrays
WARNING: could not import LinearAlgebra.svdfact into StaticArrays
WARNING: could not import Base.linspace into Colors
Very sorry about the macOS binaries, folks! They were inadvertently uploaded out a level in the file tree. They’ve been fixed now, and so the Mac links should now work. For convenience:
Regarding Images.jl yes - I have cut and pasted the errors below.
Regarding VideoIO - this is a GTK problem and I have seen similar in the past. Issue opened with VideoIO on GitHub
WARNING: could not import Base.showcompact into Images
WARNING: could not import Base.squeeze into Images
ERROR: LoadError: LoadError: UndefVarError: info not defined
Stacktrace:
[1] getproperty(::Module, ::Symbol) at .\sysimg.jl:13
[2] top-level scope at none:0
[3] include at .\boot.jl:317 [inlined]
[4] include_relative(::Module, ::String) at .\loading.jl:1038
[5] include at .\sysimg.jl:29 [inlined]
[6] include(::String) at C:\Users\hearn.julia\packages\FileIO\fuH3F\src\FileIO.jl:3
[7] top-level scope at none:0
[8] include at .\boot.jl:317 [inlined]
[9] include_relative(::Module, ::String) at .\loading.jl:1038
[10] include(::Module, ::String) at .\sysimg.jl:29
[11] top-level scope at none:2
[12] eval at .\boot.jl:319 [inlined]
[13] eval(::Expr) at .\client.jl:389
[14] top-level scope at .\none:3
in expression starting at C:\Users\hearn.julia\packages\FileIO\fuH3F\src\query.jl:158
in expression starting at C:\Users\hearn.julia\packages\FileIO\fuH3F\src\FileIO.jl:32
ERROR: LoadError: Failed to precompile FileIO [5789e2e9-d7fb-5bc7-8068-2c6fae9b9549] to C:\Users\hearn.julia\compiled\v1.0\FileIO\6iKRU.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] macro expansion at .\logging.jl:313 [inlined]
[3] compilecache(::Base.PkgId, ::String) at .\loading.jl:1184
[4] _require(::Base.PkgId) at .\logging.jl:311
[5] require(::Base.PkgId) at .\loading.jl:852
[6] macro expansion at .\logging.jl:311 [inlined]
[7] require(::Module, ::Symbol) at .\loading.jl:834
[8] include at .\boot.jl:317 [inlined]
[9] include_relative(::Module, ::String) at .\loading.jl:1038
[10] include(::Module, ::String) at .\sysimg.jl:29
[11] top-level scope at none:2
[12] eval at .\boot.jl:319 [inlined]
[13] eval(::Expr) at .\client.jl:389
[14] top-level scope at .\none:3
in expression starting at C:\Users\hearn.julia\packages\Images\HB5LL\src\Images.jl:29
ERROR: Failed to precompile Images [916415d5-f1e6-5110-898d-aaa5f9f070e0] to C:\Users\hearn.julia\compiled\v1.0\Images\H8Vxc.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] macro expansion at .\logging.jl:313 [inlined]
[3] compilecache(::Base.PkgId, ::String) at .\loading.jl:1184
[4] _require(::Base.PkgId) at .\logging.jl:311
[5] require(::Base.PkgId) at .\loading.jl:852
[6] macro expansion at .\logging.jl:311 [inlined]
[7] require(::Module, ::Symbol) at .\loading.jl:834
I thought that as well but core devs apparently want to release them close together:
I think for Julia adaptors it is a very bad experience when 1.0 is released but the package ecosystem is not ready. Further I do not see any rush. When 0.7 is available we all can use it as if it were 1.0. Just remove the deprecation warnings and they are the same. Why not have a positive press release with most packages working for 1.0?
One crucial aspect is that the migration from 0.6 to 0.7/1.0 is not very easy. Its like Python2 to Python3. I have various code where there is no solution for in 0.7 that worked fine in 0.6. Just as an instance mmap does not work anymore in many cases (mmap with arbitrary offsets no more allowed · Issue #28424 · JuliaLang/julia · GitHub) and there is no real solution to that. A workaround with reinterpret works but is slow.
I 100% agree with that.
I think there are a numer of packages (Distributions, DataFrames, PyCall, simply the popular ones on pulse) which should work flawlessly before releasing 1.0.
DataFrames version 0.13 (released yesterday - thanks to @quinnj) should work cleanly on 1.0 (I am testing it today and all works). If you find any problems please submit an issue.
Parts of the web stack are also transitioning from HttpServer to HTTP during this update, so things are not yet fully functional (at least for Blink, WebIO and to a lesser extent Mux).