This month in Julia world - 2025-10

A monthly newsletter, mostly on julia internals, digestible for casual observers. A biased, incomplete, editorialized list of what a clique of us found interesting this month, with contributions from the community.

For recent news on Julia and interesting conversations with community members, check out the JuliaDispatch podcast (on many platforms, including youtube and spotify). Highlights from the newsletter get discussed (with more context) during some episodes.

JuliaCon Global 2025 and JuliaCon Paris 2025 videos are continuously being released on the Julia youtube channel.

“Internals” Fora and Core Repos (Slack/Zulip/Discourse/Github):

  • The Github bot dependabot which automates updates to compat bounds in many ecosystems now has beta support for Julia, providing a much more standard alternative to the current CompatHelper custom julia bot. Benefits over CompatHelper include: showing release notes/changelogs for the new version in the PR, updating checked-in manifests and warning when it cannot be updated, CI running automatically (without close-open), not having to worry about workflows being silently turned off after a few months of repo inactivity. It’s aligned with a push to integrate better with github’s CVE management systems. See examples of PRs and example setups. It is in a testing period and feedback would be much appreciated.
  • JET 0.11 is now released – the main static analysis/testing tool in Julia. A lot of small niceties in the user facing API related to filtering analysis steps and reports, but also substantial internal work and simplification, providing momentum for future work.
  • A mechanism for introducing breaking changes to Julia syntax without breaking old packages is being discussed, not too dissimilar to Rust Editions.
  • Pkg now supports the notion of a “deprecated” package (for which there will be a warning printed on installation). Such metadata is stored per registry. Here is an example of use in the General package registry.
  • Pkg will soon support “portable scripts”, i.e. Julia scripts that embed their Project.toml and Manifest.toml in comments. Here are the related changes in Julia itself.
  • Pkg will soon support “downgrading”, i.e. pushing the installed dependencies to the lowest compatible version. There have been various hacks to do this, but now with a much nicer user experience and stability. Relatedly, there is more and more work on integrating the new SAT resolver in Pkg, enabling even more sophisticated compat bound resolutions.
  • Pkg will soon be usable as a command line app, similarly to how pip/uv/cargo are used from the CLI, not from inside of a REPL.
  • JuliaSyntax & JuliaLowering are moving to the core julia repo to encourage more testing of these more more introspectable implementations of the julia parsing and lowering passes. JuliaSyntax has been in use for a while, but JuliaLowering is only now maturing. These are the passes that turn the text files of julia code into a clean datastructure that the compiler can understand, analyze, optimize, and finally compile into machine code. Much of the dev tooling like Cthulhu and Revise would become easier to use thanks to them.
  • Work on moving julia to LLVM v21 has now started.
  • An incredibly powerful REPL history explorer was recently merged. Further work on showing more metadata is underway.

In search of contributors and new maintainers (specify novice/moderate/expert and internals/domain background necessary):

Ecosystem Fora, Maintenance, and Colab Promises (Slack/Zulip/Discourse/Github):

  • Swirl.jl is a fantastic “interactive lessons in the Julia REPL” package, inspired by the swirl package in R.
  • SnakeBar.jl is the best progress bar you might want to use in your julia apps.
  • Julia-Rust interoperability is enabled by jlrs which had a recent new feature rich release.
  • MuxDisplay.jl for multiplexing Julia REPL output in terminal multiplexer panes like tmux and western.
  • BonitoBook.jl, an alternative reactive notebook interface for Julia (and others), is getting a significant new release with many exciting features. BonitoBook is built around the same ecosystem that enables Makie plots in the browser.
  • AdditionalDistributions.jl provides a wide range of statistical distributions following the Distributions.jl API, but enabling much faster development and exploration for more esoteric distributions.
  • MakieTypstEngine.jl is a proof of concept for rendering Typst marked up strings in Makie. Typist is a recent alternative to the LaTeX ecosystem.
  • TerminalPager.jl has a new release, enabling more pleasant use of the built-in help browser in the REPL.
  • Using Julia to optimize and visualize a nuclear magnetic resonance control pulse, to draw Julia’s logo with an MRI machine.
  • A helpful “blog style” post on common beginner misconceptions in Julia.

Notes from other ecosystems:

  • Rust has been working tirelessly on providing good SIMD abstractions in the language.

Events:

See also: JuliaHub corporate blog, French community newsletter, community calendar, Turing.jl newsletter

Please feel free to post below with your own interesting finds, or in-depth explanations, or questions about these developments.

If you would like to help with the draft for next month, please drop your short, well formatted, linked notes in this shared document. Some of it might survive by the time of posting

68 Likes

last minute edit – Github dependabot now directly supports Julia (currently in beta):

The Github bot dependabot which automates updates to compat bounds in many ecosystems now has beta support for Julia, providing a much more standard alternative to the current CompatHelper custom julia bot. Benefits over CompatHelper include: showing release notes/changelogs for the new version in the PR, updating checked-in manifests and warning when it cannot be updated, CI running automatically (without close-open), not having to worry about workflows being silently turned off after a few months of repo inactivity. It’s aligned with a push to integrate better with github’s CVE management systems. See examples of PRs and example setups. It is in a testing period and feedback would be much appreciated.

12 Likes

I guess this a typo and could be linked to [Typst](https://typst.app/).

2 Likes

The publishing of This Month in Julia is spot on for the Julia community. I frequently check Github Issues & Pull Requests, Discourse, Slack and Zulip. However, this newsletter supplments perfectly all things Julia for a mere hobbyist like myself. The podcasts with Chris also highlight the newsletter.

Kudos for your efforts here.

16 Likes

Thank you very much for the newsletter!

Where can we leave feedback? I tested it in one of my packages and observed that Dependabot updated only the main Project.toml, not the other ones (like test/Project.toml and docs/Project.toml; see Update BandedMatrices requirement from 0.17 to 0.17, 1.10 by dependabot[bot] · Pull Request #381 · ranocha/SummationByPartsOperators.jl · GitHub). Do you know how to let Dependabot update all of them together?

1 Like

@ianshmean , I am sending a dependabot bat signal

2 Likes

Thanks for testing it. Please start a new discourse post and I’ll comment there

1 Like

But note that Dependabot will open 3 separate PRs for that, please upvote Group updates by dependency name across multiple directories in a monorepo · Issue #13284 · dependabot/dependabot-core · GitHub (to be clear, upvote the issue report, that’s used by github to decide features to implement, not my message, that doesn’t matter to github!)

9 Likes

Thank you very much!

1 Like

Thank you for curating this newsletter! I’m always happy to read it, though sometimes I happen to avoid it somehow. Are you interested in distributing it as an (email) newsletter? I see many people using Substack for sharing their blogposts as newsletter-style emails.

1 Like

If someone sets that up and volunteers to maintain the mailing list setup, I am happy to provide the text. That is how it happened with the podcast – someone else volunteered to create it and maintain it. More generally, this is a very distributed volunteer effort – no one “owns” the newsletter, so if another volunteer comes up to provide another facet of the newsletter, that would be great.

3 Likes

This is also why we have a dedicated Community > Newsletter category — you can subscribe to this category and get email alerts for just the new topics here.

13 Likes

I’m happy to give it a try! I’ll start setting up a Substack and get to know it.

Thanks! I’ll do this as well.