Hasty Briefsbeta

Julia 1.12 highlights

5 hours ago
  • #Julia
  • #Programming
  • #Release
  • Julia version 1.12 has been released, thanking contributors and testers.
  • New experimental feature for trimming statically unreachable code to improve compile times and binary sizes.
  • Bindings now participate in the 'world age' mechanism, allowing proper redefinition of constants and structs.
  • New command-line flag `--trace-compile-timing` to track compilation times.
  • Julia now starts with one interactive thread by default for a more responsive REPL experience.
  • CPU affinity settings are now respected, improving performance in Docker and HPC environments.
  • Introduction of `OncePerX` types (`OncePerProcess`, `OncePerThread`, `OncePerTask`) for safer initialization patterns.
  • Support for BOLT-optimized versions of libLLVM, libjulia-internal, and libjulia-codegen for improved performance.
  • `@atomic` macro family now supports reference assignment syntax for atomic operations on array-like references.
  • New per-task metrics for tracking running and wall time.
  • Workspaces introduced for managing multiple projects with shared manifests.
  • Apps feature allows creating standalone Julia programs with entry points via `@main`.
  • `Pkg.status()` now highlights mismatched loaded package versions.
  • `Ptr{T}` now lowers to actual LLVM pointer types, simplifying low-level interop.
  • Test RNG state is now printed on failure to aid in debugging intermittent test failures.