Julia 1.10.2

Julia is a high-level, dynamic, and JIT-compiled programming language for technical computing. It integrates distributed multiple-dispatch parallel execution, a mathemetical function library, numerical accuraccy, libraries for linear algebra, signal processing, Unicode-aware string processing, Lisp-like macros, Python code bondings, C function wrapping, user-defined and dynamic typing.

Tags c programming-language julia python llvm
License MITL
State initial

Recent Releases

1.10.202 Mar 2024 16:25 minor feature:
1.10.118 Feb 2024 11:03 minor feature: New language features JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster parsing. Set environment variable JULIA_USE_FLISP_PARSER to 1 to switch back to the old parser if necessary (and if you find this necessary, please file an issue) (#46372). (U+297A, leftarrowsubset) and (U+2977, leftarrowless) may now be used as binary operators with arrow precedence (#45962). Language changes When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a design based on the SplitMix and DotMix splittable RNG schemes (#49110). A new more-specific rule for methods resolves ambiguities containing Union in favor of the method defined explicitly to handle the Union argument. This makes it possible to define methods to explicitly handle Union without the ambiguities that commonly would result previously. This also lets the runtime optimize certain method lookups in a way that significantly improves load and inference times for heavily overloaded methods that dispatch on Types (such as traits and constructors). ( #49349 ) The "h bar" โ„ ( hslash U+210F) character is now treated as equivalent to ฤง ( hbar U+0127). The @simd macro now has more limited and clearer semantics: it only enables reordering and contraction of floating-point operations, instead of turning on all "fastmath" optimizations. If you observe performance regressions due to this change, you can recover previous behavior with @fastmath @simd, if you are OK with all the optimizations enabled by the @fastmath macro (#49405). When a method with keyword arguments is displayed in the stack trace view, the textual representation of the keyword arguments' type is simplified using the new @Kwargs key1::Type1, ... macro syntax (#49959).
1.1015 Jul 2023 13:12 minor feature: New language features JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster parsing. Set environment variable `JULIA_USE_NEW_PARSER` to `0` to switch back to the old parser if necessary (and if you find this necessary, please file an ) (). ` ` (U+297A, ` leftarrowsubset`) and ` ` (U+2977, ` leftarrowless`) may now be used as binary operators with arrow precedence. (). Language changes. When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a design based on the SplitMix and DotMix splittable RNG schemes (). A new more-specific rule for methods resolves ambiguities containing Union in favor of the method defined explicitly to handle the Union argument. This makes it possible to define methods to explicitly handle Union without the ambiguities that commonly would result previously. This also lets the runtime optimize certain method lookups in a way that significantly improves load and inference times for heavily overloaded methods that dispatch on Types (such as traits and constructors). The "h bar" `โ„` (` hslash` U+210F) character is now treated as equivalent to `ฤง` (` hbar` U+0127). The `@simd` macro now has a more limited and clearer semantics, it only enables reordering and contraction of floating-point operations, instead of turning on all "fastmath" optimizations. If you observe performance regressions due to this change, you can recover previous behavior with `@fastmath @simd`, if you are OK with all the optimizations enabled by the `@fastmath` macro. (). When a method with keyword arguments is displayed in the stack trace view, the textual representation of the keyword arguments' types is simplified using the new. `@Kwargs key1::Type1... ` macro syntax (). Compiler/Runtime improvements. The `@pure` macro is now deprecated. Use `Base.@assume_effects :fo
1.8.0-rc314 Jul 2022 18:45 minor feature: Release-1.8: set VERSION to 1.8.0-rc3.
1.8.0-beta224 Mar 2022 03:15 minor feature: More backports for julia 1.8-beta2.
1.7.208 Feb 2022 07:45 minor feature: deps Update PCRE2 URL. (cherry picked from commit 9769024). Co-authored-by: Mosรจ Giordano lt;giordano@users.noreply.github.com gt;.
1.7.0-rc113 Sep 2021 03:15 minor feature: Release-1.7: set VERSION to 1.7.0-rc1.
1.7.0-beta430 Aug 2021 03:15 minor feature: release-1.7 Bump the SuiteSparse stdlib from ec4b40a to b2d965a (#4 . 1982).
1.5.224 Sep 2020 06:45 minor feature: spurious soft scope warning on hidden name. . Define `OrderStyle` for `Union `. . Set VERSION to 1.5.2-pre. . Ccall of strlen. . String interpolation into Markdown.Table and Markdown.List in md" . . Remove the incorrect return value attribute. . , error with macro returning `x::T - y`. . a possible segfault during static compilation. . , indexing for 1-d views with offset ranges. . Reset ACTIVE_PROJECT when building docs. . Mark that ismutable requires julia 1.5. . Make sure to build clangsa before running clangsa self tests. . Allow packages to force depwarns. . , displaying `Enum` in the repl. . Inference: precision regression. . , printing juxtaposition of 0 confusion with hex,bin,oct li . . Build `julia_version.h` before running `clangsa`. . Only emit incoming values for the phi when needed. . Codegen: phic/upsilon nodes can be set to undefined. . Use of CreateAlignedStore. . `getfield_tfunc` for constant `TypeName`. . Prune egal types when forming a `Union`. . Type-equality involving `Type Union `. . Add a part of dcc0696 needed to make tests pass. . Specialize _memory_offset on number of arguments.. . Memory leak in umfpack_numeric!. . "invalid assignment location" macro hygiene regression. . Getfield of potentially undef inline immutable field. . Bump Pkg to 1.5.2. . . . Set VERSION to 1.5.2.
1.5.126 Aug 2020 17:45 minor feature: Set VERSION to 1.5.1-pre . docs: indentation on !!! warn section. . Update Mozilla CA certificate store to latest (07-22-2020) for libgit . . allunique(::StepRangeLen). . Clean up old LLVM version support on x86. . Feature clean up. . New X86 features and detections. . New X86 CPU types and detections. . Make compilecache atomic. . Pass force=true option to rename in case of loading failure in compil . . compact float printing when output contains exactly 6 digits. . arch version detection/checking on ARM/AArch64. . Update ARM feature and CPU detection. . A few processor detection/features tweaks. . test: textual output for precompile. . confusion between function name and local variable. . . update MPFR to v4.1.0. . Remove non-integral pointer from data layout before codegen. . replace. . , incorrect intersection with `Union` in supertype. . This hoists some work-arounds for computation of eltypes for zero-siz . . rc docs: strip extra pre-release info, deploy to e.g. 1.5.0-rc2 inste . . rc docs: hack Documenter to insert rc docs in the version selector. . Update Documenter to 0.25.1.. . build: make libunwind linked dynamically. . Add `get-task-allow` entitlement to allow degers to attach to code . . workaround for #35800, inference in `mapreduce`. . bump Pkg version. . . . Set VERSION to 1.5.1.
1.5.003 Aug 2020 11:25 minor feature: Set VERSION to 1.5.0.
1.5.0-rc229 Jul 2020 13:25 minor feature: Remove unnecessary restriction to `StridedVecOrMat` . Respect memory constraints during init.. . Exception stack lowering in finally handlers. . REPL presearch: add x "pass through" key. . Replace assertion in `limit_type_size` with fall-back. . Broadcasted assignment for scalar cartesian indexing. . And test LLVM IR for. Off-by-one dayofquarter() in leap years. . CPU feature specification on virtualized x64. . Error in abstract_iteration. . , skipped marking of some items in excstack. . Bump Pkg to latest 1.5 version. . . . For lu factorization regression. . , ensure output is limited even with basic REPLs. . Make `isempty(c::Channel)` a non-mutating operation. . Move `instance` initialization into jl_uninitialized_datatype. . Stop transpose(A) lu(B)' from overwriting A. . `sizeof` for non-Array subarrays. . Precedence of dotted `:`. . Correctness in sizeof tfunc. . -(::SparseMatrixCSC Bool ). . Check lengths in covector-vector products. . `elsize` and `write` for SubArrays of Arrays. . `pbpaste` error on MacOS buildbots. . : write(::SubArray) by restoring pointer support. . Clean up atomic access to sleep_check_state. . List `at-ccall` in docs, docstring. . Add missing license headers. . Run NEWS-update. . Stackoverflow in circshift!(x, y, (1.0,)). . Doc multi-threading: link to 2019's blog post. . Doc multi-threading: indentation. . Stacktraces doc: typos. . Consider terminal emacs in EDITOR_CALLBACKS before graphical. . . . Set VERSION to 1.5-rc2.
1.5.0-rc128 Jun 2020 06:45 minor feature: Printf for BigInt. . Update armv7l `-d16` - `+d32` feature change for LLVM 9+. . LibGit2: add resolve_url to RemoteCallbacksStruct for LibGit2 0.99.0 (# . . update NEWS entry for popat!. . a with break/continue/return in at-testset begin end. . clarify `show` doc strings. . Revert "Use norm instead of abs in generic lu factorization " ( . . rename pop!(vector, idx, default ) to popat!. . , diff(::AbstractRange) returns an Array. . , printing invalid numeric juxtapositions. . mkpath error handling. . , assign global name during type definitions. . zero(::Type
1.5.0-beta129 May 2020 21:25 minor feature: codegen: improve our argument annotations . inference for mapreduce on skipmissing. . , regression in printing nested quote Exprs. . , inconsistent atomic ops on int vs. float. . Random docs: a couple of typos. . Added tests for gcd and lcm for other integer datatypes.. . Discourage definition of custom primitive types. . Limit the supported atomic types per platform. . Add a command line flag to create an rr recording. . Add missing `image_file_specified` field in `Base.JLOptions`. . optimize replace! on arrays. . lineedit test. . . . generalize filter ! docstring and add compat annotation for Tuple (# . . Improve threads performance when running under rr. . Sparse addition of Symmetric and Hermitian matrices. . Added tests for gcd and lcm for other Rational data types.. . error for `global` declarations shadowing locals. . implement LibuvStream interface for BufferStream. . latest LLVM 11 compatibility. . Add support for `begin` in at-view/at-views. . Delete julia.svg. . a small typo in metaprogramming.md. . Use muladd in complex evalpoly. . remove awkward use of however from promotion docs. . make sure repeat does not allow negative inner and outer. . , regression in showing empty arrays as matrix elements (#3 . . Add zero for TimeType. . Slightly relax the input constraints on gcd, gcdx, invmod. . Add a fast path for returning "" from repeat(str, 0). . typo in error message for Rational BigInt constructor. . Delete julia.svg from "contrib/README.md". . faster randn!(::MersenneTwister, ::Array Float64 ). . bump Pkg version. . add pop!(vector, idx, default ). . Specialize `union` for `OneTo`. . Add introspection macros support for dot syntax. . GCChecker tests and add Makefile. . GCChecker,NFC run clang-format -style=llvm. . Use norm instead of abs in generic lu factorization. . GCChecker a few tests by looking through casts. . Special case empty covec-diagonal-vec product. . NEWS item for introspection macros. .
1.4.225 May 2020 11:05 minor feature: Set VERSION to 1.4.2-pre . MacOS Notarization. . Precompile: avoid a potential crash when adding methods. . Add some checks for invalid expressions. . Implement LibuvStream interface for BufferStream. . Add a fast path for returning "" from repeat(str, 0). . Exclude types with free variables from `type_morespecific`. . gy rand(RandomDevice(), Bool). . Dropped bytes when bulk reading from uv streams with oversized bu . . And test PCRE error message getter.. . Have matrix square root account for Rii=Rjj=0 to prevent NaN values (# . . , regression in printing nested quote Exprs. . Bump Pkg version to latest release.1.4. . . . Add GCC10 to GCC version mappings. . Set VERSION to 1.4.2.
1.4.115 Apr 2020 21:05 minor feature: Regression in inlining of invoke . Inverse of SVD of complex matrix. . Sockets: return value of getpeername/getsockname. . Rebase of #28526 on master. . Walkdir: avoid symlink loops when `follow_symlinks == false`. . Support git config credential resetting. . Speed up llvmcall unique name generation. . Add compat annotation for map!(f, values(dict)). . Remove outdated paragraph from deepcopy docstring. . in t-function for ` :`. . , syntax error with named splatting inside function call (# . . Bump Documenter to 0.24.7. . Add AddrSpacePtr type. . LLVM8 add patches for D75072 and D65174. . Change libLLVM sufto match build-configuration. . Yank LLVM assert checksums. . Bump LLVM BB release. . , issubset on empty ranges. . Linux: Remove `--nodetach` option for `xsel` copy.. . , typo in change to `clipboard` on linux. . Update `UnicodeData` checksum. . a preventing inlining of getindex of const globals. . Offset when widening collections. . Method error printing for missing. . Adding escape_raw_string(). . , need escaping when printing string macro calls. . . . Version `UnicodeData.txt` filename. . Bump LLVM release. . Bump OpenBLAS release. . . . , macro hygiene in gc_preserve. . LateGCLowering skipped Select lifting. . , searchsorted(3 1, 2.5, rev=true). . . . Set VERSION to 1.4.1.
1.4.023 Mar 2020 07:45 minor feature: unsigned(::Ptr) and signed(::Ptr) . Add missing 1.4 news note for new function pkgdir(). . ` (PYTHON)` paths for native windows executable or cygwin. . Bump LLVM tarballs on 1.4. . . . Set VERSION to 1.4.0.
1.4.0-rc227 Feb 2020 06:05 minor feature: Update Documenter version to 0.24.4. . in printing of block expressions in ref. . printing of LineNumberNode in block within ref. . tests: Use `realpath()` before `==` path comparisons. . Bump OpenBLAS BB tarball version and update checksums. . . . Remove URLs with /latest and use correct, relative. . Always use Symbol as _group value of log records. . Make testall target work with JULIA_BUILD_MODE=deagain.. . Make SuiteSparse wrapper thread safe.. . Upgrade buildsystem to look for `python`, `python3` or `python2`. . bump Pkg to newest on release-1.4. . jl_special_vector_alignment: Remove work-around for old LLVM version . . alignment: subtly change meaning of datatype_align. . Construct MulAddMul at gemm_wrapper! call sites. . make package cache interit permission from source. . src/codegen.cpp: segfault on `@code_native` with eltype (# . . add some helpful type information to Base and REPLCompletions. . GCLowering handle vectorized loads. . GCLowering strip all alias information. . , inference in varargs with constant prop. . Remove Iterators.reverse(::Tuple) specialization. . build: missing function prototype on older gcc. . ccall: avoid some bad symbol mangling. . Add LLVM asserts checksums. . . . make alignment deal with float32 like float64. . partr: deadlock. . codegen: bad declaration of memcmp stdlib function signature (#34792. . codegen: segfaults with VecElement with union element. . Profile: indent computation BoundsError. . use Pkg release 1.4. . . , unwrap VecElement when needed in `julia_const_to_llvm` (# . . Convert range type in `reduced_index`. . . . Set VERSION to 1.4.0-rc2.
1.4.0-rc124 Jan 2020 06:45 minor feature: inference of `_apply` with strange argument list lengths (# . . . . . . use 1 object for `SpinLock` instead of 2. . tighten signature of (complex mat) x (real matorvec). . table column alignment in html output. . , regression in let-bound function with kwargs. . remove an object allocation in the scheduler. . mention Pkg's LRU cache in HISTORY.md. . left division for Hermitian sparse array and transpose/adjoint rhs (. . add missing docstrings for BLAS routines. . document return nothing in Functions man page (2nd PR). . REPL exit when input stream. . . . REPL: make edit_title_case (M-c) call titlecase. . avoid giving useless suggestions for method ambiguities. . Add line numbers in parser errors for disallowed space. . rename test/bigint.jl to test/gmp.jl. . remove spurious ` ` in `get_next_task`. . , race condition in triggering method compilation. . Makefile cleanups. . REPL: /add doc for M- and C- key specifiers. . REPL: implement "insert last word from previous history entry". . docs: disambiguate what rand((2, 3)) does. . REPL: allow tweaking the implicit IOContext of the REPL. . REPL: yank-twice activates region. . remove `register_taskdone_hook`. . Acknowledge `Expr` as a possible type for :struct_type lowered AST (# . . REPL: presearch: more "pass through" keys. . Switch Void to Cvoid in finalizer docstring. . . . add missing costructor for ReverseOrdering() and tidy sort tests (#33736. . Sockets,test: try to add deging for CI. . codegen: optimize returning an argument. . order of multiplication in axpy! docstring. . . . for gc rooting. . annotate extract_wrapper for analyzegc. . Upgrade to LLVM v8.0.1. . Use `cache.julialang.org` to download `busybox.exe` at test time. . : genmatmul! for empty input matrices. . Use `cache.julialang.org` to download `busybox.exe` at test ti . . Improve REPL printing of UmfpackLU. . add note about deging concurrent code with rr. . . . Allow calls to `exit` from within exit hook
1.3.131 Dec 2019 07:05 minor feature: Set VERSION to 1.3.1-pre . Use `cache.julialang.org` to download `busybox.exe` at test time. . codegen: avoid bad tbaa paths. . , regression in let-bound function with kwargs. . some more invalid unsafe code. . race in writing a byte to a buffer. . Force `patchelf` to use 64KB page size on aarch64/powerpc64le. . Force `PATCHELF` override on `up-libgfortran.sh` as well. . Update Mozilla CA certificate store to latest (10-16-2019) for libgit . . Bump Pkg version to 1.3.1. . , some varargs not recognized in kwarg lowering. . , wrong integer types used in `jl_array_sizehint`. . colon-reshaping of OffsetVector. . Sync master HISTORY note about Pkg with NEWS. . ccall: report static compile-time load correctly. . avoid silent overflow in `lcm` least common multiple function (# . . don't ship icon-theme.cache with Julia #32980. . tweak test for calling unknown libraries in --output-o mode. . add another tuple subtyping fast path. . Bump Pkg again to include artifact load time optimizations. . . . Set VERSION to 1.3.1.
1.3.027 Nov 2019 13:25 minor feature: Revert the accidentally breaking part of 33779 . add license to top of new files. . update NEWS. . . . Update VERSION for 1.3.0.
1.3.0-rc518 Nov 2019 06:45 minor feature: #29916 - Add Float16 comparisons. #29331 - stdlib/SparseArrays: scalar setindex! for vector eltype. #30066 - proper diagonal in copytri!. #30989 -, cp on files 2GB. #31946 - for optind in getopt on musl libc. #32040 - isa fast path for typevars with lower bounds. #32097 - Amend matrix vector specialization for strided arrays. #32144 - Fully qualify @everywhere. #32255 - readdlm(bytearray) shouldn't modify bytearray. #31499 - for getindex tab-completion. #32104 - for ldiv!(D::Diagonal, B::StridedVecOrMat) and tests. #32351 - tryparse for invalid Chars. #32356 - codegen, tbaa: array isassigned tbaa information. #32457 - in read_to_buffer. #32605 - in typeconstraint accumulation. #32271 - Statistics type determination in corm. #32593 - generic ldiv! for CholeskyPivoted. #32139 -, macro hygiene in named tuples. #30972 - another improvement to closure analysis precision. #31484 - Show correct Dates.format documentation.
1.3.0-rc416 Oct 2019 05:45 minor feature: #29916 - Add Float16 comparisons. #29331 - stdlib/SparseArrays: scalar setindex! for vector eltype. #30066 - proper diagonal in copytri!. #30989 -, cp on files 2GB. #31946 - for optind in getopt on musl libc. #32040 - isa fast path for typevars with lower bounds. #32097 - Amend matrix vector specialization for strided arrays. #32144 - Fully qualify @everywhere. #32255 - readdlm(bytearray) shouldn't modify bytearray. #31499 - for getindex tab-completion. #32104 - for ldiv!(D::Diagonal, B::StridedVecOrMat) and tests. #32351 - tryparse for invalid Chars. #32356 - codegen, tbaa: array isassigned tbaa information. #32457 - in read_to_buffer. #32605 - in typeconstraint accumulation. #32271 - Statistics type determination in corm. #32593 - generic ldiv! for CholeskyPivoted. #32139 -, macro hygiene in named tuples. #30972 - another improvement to closure analysis precision. #31484 - Show correct Dates.format documentation.
1.3.0-rc305 Oct 2019 01:02 major bugfix:
1.0.017 Aug 2018 06:05 major bugfix: New language features Language changes. Breaking changes. This section lists changes that do not have deprecation warnings. Library improvements. Compiler/Runtime improvements. Deprecated or removed. The method `srand(rng, filename, n=4)` has been deprecated ().
0.7.013 May 2017 08:45 major feature: New language features Language changes. Breaking changes. This section lists changes that do not have deprecation warnings. Library improvements. Compiler/Runtime improvements. Deprecated or removed. The method `srand(rng, filename, n=4)` has been deprecated ().
0.6.007 Aug 2016 03:15 major feature: New language features Language changes. Breaking changes. This section lists changes that do not have deprecation warnings. Operations between `Float16` and `Integers` now return `Float16` instead of `Float32`. (). Library improvements. Compiler/Runtime improvements. Deprecated or removed.
0.5.030 Sep 2015 03:15 major feature: New language features Language changes. Command line option changes. Compiler/Runtime improvements. Library improvements. Deprecated or removed. The function `remotecall`, `remotecall_fetch`, and `remotecall_wait` now have the the function argument as the first argument to allow for do-block syntax..
0.4.027 Oct 2014 07:01 feature major: New language features Unicode version 7 is now supported for identifiers etcetera (). Type parameters now permit any arbitrary `isbits` type, not just Int` and `Bool` (). Keyword argument names can be computed, using syntax such as `f(; )` (). staged functions (). Language changes None` is deprecated; use `Union` instead (). Nothing` is renamed to `Void` (). Dict` literal syntax `` is replaced with `Dict`. a= b ` is replaced with `Dict Any,Any `. is replaced with `Dict K,V `. The new syntax has many advantages: all of its components are first-class, it generalizes to other types of containers, it is easier to guess how to specify key and value types, and the syntaxes for empty and pre-populated dicts are synchronized. As part of this change, `= ` is parsed as a normal operator, and `Base` defines it to construct `Pair` objects (). Compiler improvements Functions may be annotated with metadata to be used by the compiler (). inline` before a function definition forces the compiler to inline the function (). Library improvements convert` now checks for overflow when truncating integers or converting between signed and unsigned (). Arithmetic is type-preserving for more types; e.g. ` + ` now yields an `Int8` (). Reductions widen small types . New `Dates` module for calendar dates and other time-interval calculations (). Added generic Cholesky factorization, and the Cholesky factorization is now parametrized on the matrix type (). Symmetric and Hermitian immutables are now parametrized on matrix type (). Switch from `O` to `O` algorithm for `dequeue!` with `PriorityQueue`. This provides major speedups for large queues (). PriorityQueue` now includes the order type among its parameters, PriorityQueue KeyType,ValueType,OrderType `. An empty queue can be constructed as `pq = PriorityQueue`, if you intend to use the default `Forward` order, or pq = PriorityQueue` otherwise (). Efficient `mean` and `median` for ranges (). Character predicates such as `islower`, `isspace`,
0.3.023 Aug 2014 20:01 major feature: Enhanced performance, tuples as parameters, expanded array type hierarchy, implicit module __init__(), Unicode identifier normalization and constraints, improved reporting of syntax errors, local goto statements, native REPL (Read Eval Print Loop) instead of readline usage, many new library functions and bug fixes.