We are pleased to announce the release of Julia 0.4.0. This release contains major language refinements and numerous standard library improvements. A summary of changes is available in the NEWS log found in our main repository. We will be making regular 0.4.x bugfix releases from the release-0.4 branch of the codebase, and we recommend the 0.4.x line for users requiring a more stable Julia environment.
The Julia ecosystem continues to grow, and there are now over 700 registered packages! (highlights below). JuliaCon 2015 was held in June, and >60 talks are available to view. JuliaCon India will be held in Bangalore on 9 and 10 October.
We welcome bug reports on our GitHub tracker, and general usage questions on the users mailing list, StackOverflow, and several community forums.
Binaries are available from the main download page, or visit JuliaBox to try 0.4 from the comfort of your browser. Happy Coding!
Notable compiler and language news:
Incremental code caching for packages, resulting in a major reduction in loading time for Gadfly and other large, inter-dependent packages.
Generational garbage collector which greatly reduces GC overhead for many common workloads.
Generated functions (sometimes known as "staged functions") introduce finer control over compile-time specialization. Docs and related JuliaCon talk.
Support for documenting user functions and other objects and retrieving the documentation via the help system.
Improvements in the performance and flexibility of multidimensional abstract arrays, SubArrays (array views), and efficient multidimensional iterators.
Inter-task channels for faster communication between parallel tasks
Tuple type improvements: the type tuple (A,B)
now written Tuple{A,B}
. This change has improved the performance of many tuple-related operations, and allowed one to write fixed-size aggregate fields as field::NTuple{N,T}
(N
umber of elements of given T
ype).
Major improvements in Julia's test coverage and the ability to analyze the test coverage of packages
The command line (REPL) now supports tab-completion of emoji characters (common LaTeX symbols have been supported since 0.3!)
Upcoming work for 0.5
Nightly builds will use the versioning scheme 0.5.0-dev.
A major focus of 0.5 will be further (breaking) improvements to core array functionality, as detailed in this issue.
We plan to merge the threading branch, but the functionality will be considered experimental and only available as a compile- time flag for the near future.
Community News
The Julia ecosystem continues to grow, and there are now over 700 registered packages! (highlights below)
The second JuliaCon was held in Cambridge (USA) in June, 2015. Over 60 talks were recorded and are available for viewing.
JuliaCon India will be held in Bangalore on 9 and 10 October.
JuliaBloggers is going strong! A notable recent feature is the #MonthOfJulia series exploring the core language and a number of packages.
Topical Highlights
JuliaStats - statistical and machine learning community.
JuliaOpt - optimization community.
JuliaQuantum - Julia libraries for quantum-science and technology.
JuliaGPU - GPU libraries and tooling.
IJulia - notebook interface built on IPython.
Images - image processing and i/o library.
Gadfly - Grammar of Graphics-inspired statistical plotting.
Winston - 2D plotting.
JunoLab - LightTable-based interactive environment.