Application Version Management
This feature is only available on platforms with admin privileges available.
Application Version Management allows administrators to control which application versions are available to users for various JuliaHub apps such as Julia IDE (Code Server). This feature provides fine-grained control over version selection, default versions, staging access, and hot standby configurations.
Enabling Application Version Management
Before you can use Application Version Management, it must be enabled by the JuliaHub support. If you want to manage versions for an app that isn't available in the management panel, please ask JuliaHub support to enable it for you.
Accessing Application Version Management

- Click on the Admin button
- Select Application Version Management from the dropdown menu
This will take you to the main Application Version Management page.
Application Version Management Overview Page

The overview page displays all managed applications as cards. Each card shows:
- Application display name (e.g., "Julia IDE")
- Image group name (e.g., "codeserver")
- Number of repositories (CPU/GPU)
Only applications selected to be managed by administrators will appear on this page. Applications must be configured at the system level to allow customer admin management. If you want to manage an application but it's missing from this screen, please contact JuliaHub support.
Click on any application card to view and configure its repositories.
Configuring an Application

After selecting an application, you'll see the application view, which displays:
- The group of products you're configuring
- Repository tiles for CPU and GPU version repositories
Each repository tile shows:
- Repository type (CPU or GPU)
- Repository URL
- Number of versions configured
- List of active/inactive versions
Click on any repository tile to manage the application versions within that repository.
Managing Image Versions

The Repository View is where you configure individual image versions. The page includes:
Repository Information
At the top, you'll see a card with repository details:
- Repository type (e.g., "cpu" or "gpu")
- Repository URL
- Registry type (Amazon ECR, Docker Hub, etc.)
- Active status
Configured Versions Table

The main table displays all currently configured image versions with the following columns:
- Tag: The version tag (e.g., "latest", "v1.10.0")
- SHA: Shortened SHA digest of the image (first 12 characters)
- Display Name: User-friendly name shown to end users (editable)
- Enabled: Toggle to make the image available to all users with access to the app
- Staging Access: Toggle to grant access only to users with staging access enabled and access to the app. This can be used for beta testing with a small group of users before fully enabling the version for all users
- Hot Standby: Toggle to enable faster startup by keeping the image cached on worker nodes
- Default: Sets this version as the default version to use
- Actions: Delete button to remove the image from configuration
- Details: Expand button to view additional information
Only one version can be set as the default per repository.
Editing Image Settings
To modify a version:
- Edit Display Name: Click in the Display Name field and type a user-friendly name (e.g., "Julia 1.10.0")
- Toggle Enabled: Turn on to make the image available to all users, or off to hide it
- Toggle Staging Access: Turn on to make the image available only to users with staging access enabled
- Toggle Hot Standby: Turn on to keep a cached image ready on worker nodes for faster startup
- Set as Default: Check the Default toggle to make this the default version for new sessions
All changes are tracked but not applied until you click the Apply Changes button.
Viewing Version Details

Click the expand button in the Details column to view additional information:
- Full SHA digest
- Created date/time
- Julia version
- JobAPI version
- Scanned time
- Image labels (key-value pairs showing image metadata)
Removing Image Versions
To remove an image version from the configuration:
- Click the trash icon (🗑️) in the Actions column
- The image will be removed from the table
Some images may be marked as "site managed" and cannot be removed by customer admins. These will have the delete button disabled.
Applying Changes
After making any modifications:
- Review your changes in the table
- Click the Apply Changes button at the bottom of the table
- Wait for the success confirmation message
Adding New Versions

Below the configured images table, you'll find the Available Versions section. This section lists all images that exist in the container registry but are not yet configured.
Searching Available Versions
Use the search bar to filter available images by:
- Tag name
- Julia version
- SHA digest
Simply type your search term and the table will filter automatically.
Available Versions Table
The Available Versions table displays:
- Tag: Image tag
- SHA: Shortened SHA digest
- Julia Version: Julia version included in the image
- JobAPI Version: JobAPI version included in the image
- Created: When the image was created
- Actions: Add button to include the image in configuration
- Details: Expand button for additional information
Adding an Image
To add a new image version:
- Find the desired image in the Available Images table (use search if needed)
- Click the Add button in the Actions column
- The image will be moved to the Configured Images table above
- Configure the image settings (display name, enabled status, etc.)
- Click Apply Changes to save
When an image is added, it will:
- Appear in the configured images table
- Be set as enabled by default
- Have staging access and hot standby disabled by default
- Not be set as the default version
- Auto-populate the display name with Julia version (if available)
Best Practices
Staging Access
Use staging access to test new image versions before making them generally available:
- Add a new image version with Staging Access enabled and Enabled set to false (public access disabled)
- Grant staging access to specific test users (User Features panel)
- Have test users validate the new version
- Once validated, disable Staging Access and set Enabled to true to make it available to all users
Default Versions
- Set a stable, well-tested version as the default
- Only change the default after thorough testing
- Communicate default version changes to your users
Display Names
Use consistent, clear naming conventions for display names:
- Good: "Julia 1.10.0", "Julia 1.9.4 LTS"
- Avoid: "latest", "new-version", "test"
Hot Standby
Enable hot standby for the most commonly used versions to improve user experience with faster startup times.
Image Cleanup
Regularly review and remove outdated or unused image versions to:
- Reduce clutter in the version selector
- Simplify maintenance
- Improve user experience
Troubleshooting
Application Not Showing in Managed Applications
If an application doesn't appear in the Managed Applications list, it needs to be configured at the system level with the managed_customer_admin flag enabled. Contact your JuliaHub system administrator.
Changes Not Taking Effect
If changes don't appear after clicking Apply Changes:
- Check for error messages in the alert notification
- Verify you have admin privileges
- Refresh the repository view to see the latest configuration
- Check the browser console for any errors
- Reach out to JuliaHub support
Technical Notes
Image Synchronization
JuliaHub periodically scans configured container registries to discover new images. The scanning frequency is configured at the system level. Newly pushed images may take up to 60 minutes to appear in the Available Images list.
Configuration Storage
Image configurations are stored in the JuliaHub configuration system and are applied immediately upon clicking Apply Changes. The configuration affects the API that clients use to determine available image versions.