Julia v1.2.0: Technical computing gets updated with new library functions
What’s new with Julia? The latest update for the high-performance technical computing language has arrived and is ready to download. This is a minor update, so this means no breaking changes. However, it brings plenty of standard library changes, a handful of new features, and some minor changes. Meet Julia v1.2!
Julia has been on our radar for some time, especially after the programming language won the Wilkinson Prize for Numerical Software. More and more, JuliaLang keeps updating with essential new features, such as composable multi-threaded parallelism.
Now, version v1.2.0 is here; it released on August 20, 2019. This marks the second minor release in the 1.x series. (The current long-term support (LTS) release is still v.1.0.4.)
What’s new with this technical computing language?
What’s new in Julia?
Since this is only a minor release, there are no breaking changes. However, it does add a few new features, performance upgrades, standard library changes, new library functions, and a few minor behavior changes. Without further ado, let’s dip into the newest additions.
- Argument splatting: used in calls to the
newpseudo-function in constructors
- Unicode version 12.0.0 support
\star) as unary operator added
- Language change:
JULIA_DEPOT_PATHempty entires expanded to default depot entires
- Multi-threading changes: Schedule and switch tasks during
Conditiontype has a thread-safe replacement and task scheduling primitives are now thread-safe.
- Build system change: Build system now prefers downloading prebuilt binary tarballs for most dependencies on supported systems. Users can disable this by setting
New library functions
getipaddrs(): Returns IP addresses of the local machine
getipaddrs(addr_type)functions: Return IP addresses of the desired specified type
- Added argument
This release comes with a fair amount of standard library changes. Here are just a few highlights of the standard library changes:
- When used in broadcasting,
Enumbehaves like a scalar
- Functions invoking commands throw a
ProcessFailedExceptionif commands exit with non-zero exit code
- Added no-argument constructor for
mapreduceaccepts multiple iterators
stripaccepts a function argument
View the release notes on GitHub to see the exhaustive list of changes made.
Updating to v1.2.0
Ready to update to the latest version of Julia?
We encourage everyone to give it a try. Packages can test with 1.2.0 on CI by specifying
1.2on Travis, AppVeyor (with Appveyor.jl 21), and Cirrus (using CirrusCI.jl 22). As always, let us know in the issue tracker 19 if you run into any issues.
Users can also run JuliaBox directly in the browser with Jupyter notebooks.
Check out the GitHub repo for further information.
Why do people love the language and what are its use cases? Refer to the recent survey results and see why developers turn to Julia. It’s used for scientific computing, linear algebra, statistics, machine learning, data science, and much more.