The New JuliaPro

The release of Julia 1.0 during JuilaCon was a significant milestone in the history of the language. It not only creates a stable base for long term support, but it also includes much new and improved functionality to make development with the language more productive. Among the new features is a brand new package management system – Pkg3.

As you may know, JuliaPro is our distribution of the Julia language that forms the basis of our support and governance offerings. It is free to download, and is used by a large and varied user base that finds it to be the easiest on-ramp for Julia development.

With the release of Julia 1.0, while we waited for the package ecosystem to catch up, we took opportunity to re-architect how we build and support JuliaPro. This allowed us to consider some of the feedback we have received over the past few years, and enables us to better support our users over the long term.

One common feedback we received was that the JuliaPro distribution was exceptionally large. This made downloading it somewhat error prone, particularly in parts of the world with imperfect internet access. Considerations around the size has also prevented us from adding to the packages that we support. For example, we had not bundled large but important packages such as Plots.jl in order to keep the file size down.

The new JuliaPro releases (based on Julia 1.0) therefore do not bundle packages any more. The downloadable distributions contain only the compiler, the standard library, and the Juno IDE.

Even though the packages are not bundled, JuliaPro users still benefit from a curated set of packages. This is provided through the JuliaPro package registry hosted by Julia Computing. Incidentally, this registry is also used to provide the same supported packages on JuliaBox.

The JuliaPro registry contains a subset of packages from Julia’s General registry, but with an additional layer of testing and curation. The list of packages supported by the JuliaPro registry is displayed on the JuliaPro product page. Users can change to using the General registry through a manual process.

JuliaPro downloads packages and binaries from a central server maintained by Julia Computing (pkg.juliacomputing.com), rather than from wherever the package is otherwise hosted (usually Github). This provides a more reliable and trustworthy download experience. Access to the package server needs to be authenticated, and we request you to sign in once before performing package operations in JuliaPro.

For organizations with strict firewall policies, JuliaTeam provides a local package server within an organisation’s own network, with features such as governance, security, license management, enterprise authentication, support, and indemnification.

We hope the new JuliaPro makes Julia programming easier and more productive. We cannot wait to hear more the cool applications you, our users, create. Let us know what you think.