Skip to content

Supported Platforms

Ibrahim Zidan edited this page Apr 21, 2026 · 66 revisions

Hercules guarantees a different level of compatibility with each of the platforms it can compile and run on.

Support Levels

  • primary: A platform Hercules is actively developed and tested on. Hercules aims to compile (without errors or warnings), and run without issues on these platforms.
  • supported: A platform Hercules is intended to run on. Hercules aims to compile (without errors), and run without issues on these platforms. Tests may not be automated, but may depend on users reports.
  • unsupported: A platform Hercules is not intended to run on. Hercules may or may not run on these platforms, and may require workarounds to work. Compatibility is not a goal of the development team, but pull requests may be accepted, as long as they don't hinder development on other platforms, or degrade the quality or increase complexity of the existing code for the supported platforms.
  • unknown: A platform Hercules was not tested on. It is unknown whether it can work on it.

Platforms

Debian Linux

The current stable distribution (currently version 13 'trixie') is a primary platform, while the oldstable (currently version 12 'bookworm') gets gradually phased out from primary to supported. Older (obsolete stable releases other than oldstable), or newer (testing, unstable) releases are unsupported.

System Support Status Primary platform until Supported until
Debian "sid" unsupported
Debian 13 "trixie" primary release of version 14 release of version 15
Debian 12 "bookworm" supported release of version 14
Debian 11 "bullseye" unsupported
Debian 10 "buster" unsupported
Debian 9 "stretch" unsupported

CentOS and Red Hat Enterprise Linux

CentOS is supported for versions that have upstream support. CentOS 8 will be the last supported version, after which only CentOS Stream will be supported. Continued support for matching RHEL versions cannot be guaranteed past that point.

System Support Status Primary platform until Supported until
CentOS Stream supported (rolling release)
CentOS 8 unsupported
RHEL 8 unsupported

Ubuntu Server

The latest LTS version is a primary platform. The latest version -- if not an LTS version -- is a supported platform. The previous LTS version is a supported platform for 6 months after the next version is released. Older versions are unsupported.

System Support Status Primary platform until Supported until
Ubuntu 26.04 Resolute Raccoon unknown April 2028 (rel. 28.04) October 2028
Ubuntu 25.10 Questing Quokka supported release of next non-LTS
Ubuntu 24.04 Noble Numbat (LTS) primary April 2026 (rel. 26.04) October 2026
Ubuntu 23.10 Mantic Minotaur unsupported
Ubuntu 23.04 Lunar Lobster unsupported
Ubuntu 22.10 Kinetic Kudu unsupported
Ubuntu 22.04 Jammy Jellyfish (LTS) unsupported April 2024 (rel. 24.04) October 2024
Ubuntu 21.10 Impish Indri unsupported
Ubuntu 21.04 Hirsute Hippo unsupported
Ubuntu 20.10 Groovy Gorilla unsupported
Ubuntu 20.04 Focal Fossa (LTS) unsupported

Gentoo

Gentoo is a rolling release, and has no versions. The stable branch is a primary platform (amd64) or a supported platform (x86), while the unstable (~x86 or ~amd64) is unsupported. Support on other architectures is unknown.

System Support Status Primary platform until Supported until
Gentoo x86 supported Always (rolling release)
Gentoo amd64 primary Always (rolling release)
Gentoo ~x86 unsupported
Gentoo ~amd64 unsupported

FreeBSD

The latest FreeBSD release is a primary platform. The previous release is supported, but only for as long as it is supported upstream. Any older versions are unsupported.

System Support Status Primary platform until Supported until
FreeBSD 15.x primary (1) release of version 16 last 14.x release + 2 years, or release of version 17
FreeBSD 15.0 primary release of version 15.1 15.1 release + 3 months, or release of version 17
FreeBSD 14.x supported release of version 15 last 14.x release + 2 years, or release of version 16
FreeBSD 14.4 supported release of version 14.5 14.5 release + 3 months, or release of version 16
FreeBSD 14.2 unsupported release of version 14.3 14.3 release + 3 months, or release of version 16
FreeBSD 14.1 unsupported release of version 14.2 14.2 release + 3 months, or release of version 16
FreeBSD 14.0 unsupported release of version 14.1 14.1 release + 3 months, or release of version 16
FreeBSD 13.x unsupported last 13.x release + 2 years, or release of version 15
FreeBSD 13.5 unsupported April 2026, 13.6 release + 3 months, or release of version 15
FreeBSD 13.4 unsupported
FreeBSD 13.3 unsupported
FreeBSD 13.2 unsupported
FreeBSD 13.1 unsupported
FreeBSD 13.0 unsupported
FreeBSD 12.x unsupported
FreeBSD 12.3 unsupported
FreeBSD 12.2 unsupported
FreeBSD 12.1 unsupported
FreeBSD 12.0 unsupported

(1): version 'y.x' refers to the latest release in the 'y' branch.

macOS

The last version of macOS is a primary platform, assuming the latest version of Xcode is installed (or GCC through Homebrew). The previous versions are supported platforms only for as long as they are maintained upstream. Only autotools builds are tested and actively maintained. Apple Silicon builds are currently untested.

System Support Status Primary platform until Supported until
macOS 26 Tahoe (x86_64) unknown release of version 28 (estimated)
macOS 26 Tahoe (aarch64) unknown
macOS 15 Sequoia (x86_64) supported release of version 26 release of version 27 (estimated)
macOS 15 Sequoia (aarch64) unknown
macOS 14 Sonoma (x86_64) supported release of version 15 release of version 17 (estimated)
macOS 14 Sonoma (aarch64) unknown
macOS 13 Ventura (x86_64) unsupported release of version 16 (estimated)
macOS 13 Ventura (aarch64) unknown
macOS 12 Monterey (x86_64) unsupported
macOS 12 Monterey (aarch64) unknown
macOS 11 Big Sur (x86_64) unsupported
macOS 11 Big Sur (aarch64) unsupported

OpenBSD

The latest OpenBSD release is supported, but it isn't a primary platform.

System Support Status Primary platform until Supported until
OpenBSD 7.8 supported release of version 7.9
OpenBSD 7.7 unsupported release of version 7.8
OpenBSD 7.6 unsupported release of version 7.7
OpenBSD 7.5 unsupported release of version 7.6
OpenBSD 7.4 unsupported
OpenBSD 7.3 unsupported
OpenBSD 7.2 unsupported
OpenBSD 7.1 unsupported
OpenBSD 7.0 unsupported
OpenBSD 6.9 unsupported
OpenBSD 6.8 unsupported
OpenBSD 6.7 unsupported
OpenBSD 6.6 unsupported
OpenBSD 6.5 unsupported
OpenBSD 6.4 unsupported
OpenBSD 6.3 unsupported
OpenBSD 6.2 unsupported
OpenBSD 6.1 unsupported
OpenBSD 6.0 unsupported

NetBSD

The latest NetBSD release is supported, but it isn't a primary platform.

System Support Status Primary platform until Supported until
NetBSD 10.1 supported release of version 10.2
NetBSD 10.0 unsupported release of version 10.1
NetBSD 9.3 unsupported
NetBSD 9.2 unsupported
NetBSD 9.1 unsupported
NetBSD 9.0 unsupported

Raspbian / Raspberry Pi OS

Hercules runs on the Raspberry Pi, and was tested on Raspberry Pi OS. The latest release is a supported platform.

System Support Status Primary platform until Supported until
Raspberry Pi OS 13 Trixie supported release of version 14
Raspberry Pi OS 12 Bookworm unsupported release of version 13
Raspberry Pi OS 11 Bullseye unsupported
Raspberry Pi OS 10 Buster unsupported
Raspbian 9 Stretch unsupported

Other Linux / UNIX Distributions

The status on other linux distributions is unknown. Hercules will likely run on them if they derive from, or use similar versions of the development tools as the previously described platforms.

System Support Status Primary platform until Supported until
Linux Mint unknown
SuSE Linux / openSuSE unknown
Fedora unknown
Arch Linux unknown
Slackware unknown
Elementary OS unknown
Mandriva unknown

Microsoft Windows

Windows (workstation versions) are primary platform, for as long as they're within their upstream Mainstream Support period. Versions (workstation and server versions) within their upstream Extended Support period are supported. Older versions are unsupported. Primary support for more than one version of Windows won't be guaranteed in any case. As such, when a new version is released, the current primary supported version may switch to supported. In general, running Hercules on Windows on a production server is not recommended. Support is maintained for legacy reasons, for developers who prefer to use the Microsoft tools.

System Support Status Primary platform until Supported until
Windows Server 2022 supported 2031-10-14
Windows Server 2019 supported 2029-01-09
Windows Server 2016 supported 2027-01-12
Windows Server 2012 R2 unsupported
Windows Server 2012 unsupported
Windows 11 v.23H2 primary next update 2025-11-11
Windows 11 v.22H2 supported 2024-10-08
Windows 11 v.21H2 unsupported
Windows 10 (latest) supported 2025-10-14
Windows 10 v.22H2 supported 2025-10-14
Windows 10 v.21H2 unsupported
Windows 10 v.21H1 unsupported
Windows 10 v.20H2 unsupported
Windows 10 v.2004 unsupported
Windows 10 v.1909 unsupported
Windows 10 v.1903 unsupported
Windows 10 v.1809 unsupported
Windows 10 v.1803 unsupported
Windows 10 v.1709 unsupported
Windows 10 v.1703 unsupported
Windows 10 v.1607 unsupported
Windows 10 v.1511 unsupported
Windows 10 v.1507 unsupported
Windows 8.1 unsupported
Windows 8 unsupported

Software

Compilers

We support compilers included by default in our supported platforms for as long as those platforms are supported. We do some best effort to support older compilers as long as they support the libraries and standards we depend on. latest compilers are also supported by default unless otherwise stated we'd fix builds for them as needed as long as it doesn't conflict with older compilers that we still support.

Compiler Support status Supported versions
GCC supported Minimum: 14 Maximum: latest
Clang supported Minimum: 15 Maximum: latest
MSVC (Microsoft Visual Compiler) unsupported

Database

We support MariaDB which is included by default in all of our platforms as the drop-in replacement of MySQL, while hercules may work fine with MySQL we only test and aim to support MariaDB. Fixing issues with MySQL servers are done on best effort basis. We currently test against versions provided by default on our supported platforms, latest version is also supported unless otherwise stated and we'd implement fixes to support it unless it conflicts with an older version sill supported.

Database Provider Support status Supported versions
MariaDB supported Minimum: 10.11 Maximum: latest
MySQL unsupported

Clone this wiki locally