Overview

jDeploy 5.0 represents a significant milestone in cross-platform Java desktop application deployment. Building on the existing ARM64 support for macOS, this release extends ARM64 architecture support to Windows and Linux, introduces powerful download page customization, implements comprehensive app permissions management, and provides seamless AI-powered setup through Claude Code integration.

What’s New in 5.0

Extended ARM64 Architecture Support

While jDeploy has supported macOS ARM64 (Apple Silicon) since previous versions, jDeploy 5.0 now brings native ARM64 support to Windows and Linux platforms. Your Java applications can now run natively on:

  • Windows ARM64 - Surface Pro X and other Windows ARM devices

  • Linux ARM64 - Raspberry Pi and other ARM-based Linux systems

  • macOS ARM64 - Continued support for Apple Silicon Macs (M1, M2, M3, etc.)

This expansion ensures optimal performance across all modern computing platforms, with both GUI and CLI deployed applications benefiting from native ARM64 execution.

Customizable Download Page Platforms

One of the most requested features, download page customization, is now available in jDeploy 5.0. You can now control exactly which platforms and architectures appear on your application’s download page.

Platform Selection Options

The new download page configuration offers three main options:

All Platforms

Includes installers for every supported platform and architecture. As jDeploy adds support for new platforms, they automatically appear on your download page.

Default Platforms

Uses jDeploy’s curated set of mainstream platforms. New architectures (like the Windows and Linux ARM64 builds introduced in 5.0) undergo a preview period before being included by default.

Custom Selection

Gives you complete control over which specific platforms and architectures to offer your users.

Configuration Methods

You can configure platform selection either through the GUI’s new "Download Page" tab or directly in your package.json:

{
  "jdeploy": {
    "downloadPage": {
      "platforms": ["windows-x64", "windows-arm64", "mac-arm64", "linux-x64"]
    }
  }
}

This flexibility allows you to: * Focus on your primary user base * Gradually roll out support for new architectures * Reduce download page complexity for simple deployments

download page tab
Figure 1. The download page tab allows you to customize which platforms are shown on the download page

App Permissions System

jDeploy 5.0 introduces a cross-platform permissions abstraction that allows you to declare which system resources your application needs. Currently implemented for macOS with Windows and Linux support planned for future releases.

Supported Permissions

The permissions system supports all macOS permissions. Some examples include:

  • Camera access - For applications that need video capture

  • Microphone access - For audio recording applications

  • Location services - For location-aware applications

  • File system access - For applications that need broader file access

  • Network access - For applications requiring internet connectivity

  • Accessibility features - For assistive technology integration

Note
This is just a sample of available permissions. jDeploy 5.0 supports all macOS permission types.

Permission Configuration

Permissions can be configured through the GUI’s new "Permissions" tab or directly in package.json:

{
  "jdeploy": {
    "permissions": [
      {
        "name": "microphone",
        "description": "Microphone access is required for audio recording features"
      },
      {
        "name": "camera",
        "description": "Camera access enables video conferencing capabilities"
      }
    ]
  }
}

Each permission requires a user-friendly description that explains why your application needs that specific access.

permissions tab
Figure 2. The new Permissions tab in the project editor

Claude Code Integration

Perhaps the most exciting addition to jDeploy 5.0 is the integration with Claude Code, Anthropic’s AI-powered development assistant. This integration dramatically simplifies the setup process for new users.

Streamlined Setup Process

Previously, setting up jDeploy required several manual steps: 1. Ensuring your project builds an executable JAR 2. Configuring the GitHub workflow 3. Tweaking build configurations

With Claude Code integration, the process becomes: 1. Import your project in jDeploy 2. Open Claude Code in your project 3. Say "Setup jDeploy for me"

Claude analyzes your project structure, identifies necessary changes, and handles the configuration automatically with your approval.

CLAUDE.md Integration

When you import a project, jDeploy now automatically creates or appends to your CLAUDE.md file, providing Claude with the context needed to assist with jDeploy configuration. This makes the setup process accessible to developers of all experience levels.

For existing projects, you can add Claude integration through the project editor menu:

claude integration menu
Figure 3. Claude integration menu option for existing projects

Enhanced Download Page Experience

The download page has been improved with automatic platform detection. Users now see a single, primary download button for their current platform, with other platforms accessible through an expandable "Other platforms" section.

This creates a cleaner, more intuitive download experience while still providing access to all supported platforms.

swingset download page
Figure 4. Example download page showing automatic platform detection
swingset download page other platforms
Figure 5. Download page after selecting "Other platforms"

Technical Improvements

Complete Platform Matrix

jDeploy 5.0 now supports the following complete platform matrix:

  • Windows: x64, ARM64 (new)

  • macOS: x64 (Intel), ARM64 (Apple Silicon), Legacy (High Sierra compatible)

  • Linux: x64, ARM64 (new)

  • Debian: x64, ARM64 (new)

Configuration Schema Extensions

The package.json configuration schema has been extended with new properties:

  • downloadPage - Controls download page platform selection

  • permissions - Declares required system permissions

  • Enhanced platform-specific JVM arguments with ARM64 support

Improved Build Process

The build process now efficiently handles multi-architecture compilation, automatically generating appropriate bundles for each target platform without requiring separate build environments.

Bug Fixes and Critical Improvements

Installation Experience Fixes

  • Linux Installer Permissions: Fixed critical issue where Linux installers weren’t executable, eliminating the need for users to manually run chmod +x

  • Publish Target Conflicts: Resolved issue where changing from npm to GitHub publishing could cause conflicts with retained npm targets

Platform-Specific Improvements

  • Enhanced Windows ARM64 installer generation

  • Improved Linux package management integration

  • Better error handling for unsupported platform combinations

Migration Guide

Upgrading from 4.x

Existing jDeploy 4.x projects are fully compatible with 5.0. No configuration changes are required, though you may want to:

  1. Enable ARM64 support: Update your download page settings to include the new Windows and Linux ARM64 builds

  2. Configure permissions: If your application needs system resource access, declare these permissions for better user experience

  3. Add Claude integration: Consider adding Claude Code integration for easier future configuration changes

Enabling New ARM64 Builds

To enable the new ARM64 builds for your existing application:

  1. Open your project in the jDeploy GUI

  2. Navigate to the "Download Page" tab

  3. Select "All" platforms or customize your platform list to include ARM64 variants

  4. Republish your application

Your users will immediately have access to native ARM64 installers on their download page.

Previewing ARM64 Builds

You can preview the new ARM64 builds for your existing application without creating a new release by adding ?preview=1 to your download page URL. For example:

This allows you to test the new ARM64 installers before making them available to all users.

Installer Naming Convention Changes

jDeploy 5.0 introduces new naming conventions for Windows and Linux installers to accommodate the new ARM64 architecture support:

Previous naming (x86_64 only)
  • Windows: My App Installer-win-1.0.0.exe

  • Linux: My App Installer-linux-1.0.0.gz

New naming (with architecture)
  • Windows x64: My App Installer-win-x64-1.0.0.exe

  • Windows ARM64: My App Installer-win-arm64-1.0.0.exe

  • Linux x64: My App Installer-linux-x64-1.0.0.tar.gz

  • Linux ARM64: My App Installer-linux-arm64-1.0.0.tar.gz

Backward Compatibility

To ensure existing automations and integrations continue working, jDeploy 5.0 generates duplicate installers for Windows and Linux x86_64 builds:

  • One with the legacy naming convention (e.g., -win-1.0.0)

  • One with the new architecture-specific naming (e.g., -win-x64-1.0.0)

Additionally, Linux installers now use .tar.gz compression instead of .gz to properly preserve file permissions.

Disabling Legacy Bundle Generation

If you don’t need the duplicate legacy-named bundles, you can disable them by adding the following to your package.json:

{
  "jdeploy": {
    "generateLegacyBundles": false
  }
}

This will generate only the new architecture-specific naming convention.

Note
A future version of jDeploy will stop generating duplicate legacy bundles by default.

Getting Started with 5.0

If you’re new to jDeploy, the 5.0 release offers the smoothest onboarding experience yet:

  1. Download jDeploy from the GitHub releases page

  2. Import your existing project or create a new one from templates

  3. Let Claude Code handle the setup by simply asking it to "Setup jDeploy for me"

  4. Configure your platforms and permissions using the enhanced GUI

  5. Publish and share your download page with users across all platforms

Performance Benefits

Native ARM64 Performance

Applications running on ARM64 architectures see significant performance improvements:

  • Better energy efficiency on ARM-based devices

  • Improved execution speed for ARM-optimized workloads

  • Enhanced compatibility with modern ARM-based development environments

Streamlined Development Workflow

The Claude Code integration reduces setup time from hours to minutes, allowing developers to focus on application development rather than deployment configuration.

Looking Forward

jDeploy 5.0 establishes a strong foundation for future enhancements. Upcoming features include:

  • Extended permissions support for Windows and Linux

  • Additional installer formats for specialized Linux distributions

  • Enhanced GitHub Actions integration with more trigger options

  • Expanded template library for popular Java frameworks

  • Integration with additional AI development assistants

Resources and Support

Conclusion

jDeploy 5.0 represents our commitment to making Java desktop application deployment accessible, powerful, and future-ready. With expanded ARM64 support, intelligent setup assistance, and enhanced customization options, developers can now reach users on every modern platform with confidence.

Whether you’re a solo developer publishing your first desktop app or an enterprise team managing complex deployment pipelines, jDeploy 5.0 provides the tools, flexibility, and guidance you need to succeed in today’s diverse computing landscape.


Ready to get started? Download jDeploy 5.0 today and experience the future of Java desktop application deployment.