
At JuliaHub, our goal is to create the most powerful and seamless environment for scientific computing and simulation and modeling. Over the past few months, our team has been hard at work shipping a host of new features and improvements. We’re happy to share some of the powerful new capabilities you can use today.
This post highlights significant updates focused on three key themes: reproducibility and code quality, a more flexible development experience, and streamlined administrative controls.
In This Update:
Time Capsule: A major new feature to group and rerun reproducible jobs.
Static Code Analysis: Scan your projects to find and fix potential issues in your Julia code before they become problems.
Large Files in Projects: Projects now automatically handle large files (via git LFS), making your data-heavy projects much easier to manage.
Support for Multiple Julia Versions: You can now select from different Julia versions for your jobs, giving you greater flexibility.
Custom Job Images: Bring your own custom container images for full environmental control.
Enhanced Admin Controls: More granular control over registry syncing, package policies, and authentication.
Full Reproducibility with Time Capsule
The Challenge: Ensuring that a job you ran months or years ago can be perfectly reproduced—with the exact same code, data, packages, and environment. This is a fundamental challenge in scientific computing and in many regulated industries.
Our Solution: We are thrilled to announce the general availability of Time Capsule. This feature automatically bundles everything needed to reproduce a job or application into a single, immutable “time capsule.” It captures a snapshot of your project files, linked datasets, everything in your Julia manifest, and the entire container image used to run your job.

Why It Matters: Time Capsule is a game-changer for long-term projects, regulatory compliance, and academic publications. You can now rerun a critical job a year from now with the click of a button, confident that you are recreating the exact original conditions.
Improve Your Code with Static Analysis
The Challenge: Catching potential bugs, performance issues, and style inconsistencies in code can be time-consuming. It’s always better to find them early in the development cycle.
Our Solution: You can now run static code analysis directly on your JuliaHub projects. Our analyzer scans your Julia code to detect a wide range of potential issues, from type instabilities to common programming errors, and provides actionable feedback.
Watch Automated Code Review: Static Analysis in Action
Why It Matters: This acts as an automated code review assistant, helping you write more robust, performant, and maintainable code. Improve your team's code quality and spend less time on manual debugging.
Effortless Management of Large Files with Git LFS
The Challenge: Versioning large files like datasets, model weights, or simulation inputs and outputs alongside code is a classic problem. Git by itself does not handle large and/or binary files well—if you check these files into your projects, they become slow and bloated, making them difficult to clone and manage.
Our Solution: JuliaHub now provides built-in, automatic support for Git Large File Storage (LFS). When you publish or transfer a project, JuliaHub intelligently detects large files and seamlessly handles them using Git LFS, without requiring any manual configuration from you. The best part: you don’t have to think about any of this. You can use all the usual tools like GitHub, VS Code (locally or on JuliaHub), and command-line git as you normally would—they all also understand the LFS protocol. If you add large or binary files to your projects, JuliaHub automatically detects that they should be handled by LFS and makes it happen. Large and binary files are transparently stored on S3 and are tracked just as safely as your source code.
Why It Matters: This removes a major point of friction for data science and research workflows. Your core code repository remains lean and fast, while your large data assets are stored efficiently and robustly. You can now manage complex, data-heavy projects with ease, letting you focus on your work, not on manual file storage workarounds.
Other Improvements & Updates
We've also rolled out a series of powerful enhancements to make your day-to-day work smoother and more flexible.
Run Batch Jobs with Different Julia Versions: You can now choose what Julia version to use for batch jobs. This allows you to maintain legacy projects on older versions while developing new ones on later releases.

Bring Your Own Environment with Custom Job Images: For maximum flexibility, you can now upload and use your own custom container images for jobs. With our new Version 2 architecture, you have complete control over the execution environment. This means you are no longer required to build on top of a JuliaHub base image—you can create a completely custom container image from any base you choose and still integrate seamlessly with platform services. This is made possible by a new sidecar model, where JuliaHub services like registry and credentials management are provided through clean REST APIs, keeping your container lean and self-contained. For a detailed guide, see our documentation on building job images and migrating from Version 1.
Rock-Solid Authentication: We've vastly improved local Julia package authentication. We now use OAuth2’s device authentication workflow, which is a better fit for the way package server auth works. This update results in fewer errors and less frequent need to re-authenticate. For users that means less friction and more time spent coding.
Empowering Administrators
For our users managing teams and enterprise installations, we've added a suite of new controls for better governance and security:
Granular Registry Management: Admins can now adjust the sync interval for specific registries and force an immediate sync when needed.
GitHub Enterprise Authentication: You can now use GitHub Apps for authentication to private Julia registries on both GitHub.com and your self-hosted GitHub Enterprise instances.
Global Package Policies: Apply a single, consistent package policy to all packages across your entire installation for streamlined compliance.
Modernized Julia Setup: The bootstrap script now uses
juliaup
for a more robust and standard way to manage Julia versions.
Quality of Life Improvements
Sometimes it's the small things that make the biggest difference. Here are a few more updates we've shipped:
Custom Application Ordering: Organize the applications on your dashboard the way that makes sense to you.
Improved File Viewer: A cleaner, more capable interface for viewing files within your projects.
Drag & Drop Data Uploads: Quickly upload datasets to JuliaHub with a simple drag and drop from your desktop.
Clearer Terminology: We’ve renamed "Datasets" to "Linked Data" and "Collaborative editing" to "Group editing" to be more descriptive.
Looking Ahead
This is just a sample of our work from the last few months, and we're excited about what's coming next. You can look forward to further regular updates from us as we continue to build the best cloud platform for the Julia ecosystem.
Get Involved!
Log in to JuliaHub to check out all these new features today!
Read our documentation to learn more about how to use these tools.
Join the discussion on our community forum and let us know what you think.
Happy computing,
The JuliaHub Team