Download musl

Git repository

The latest musl source is always available via the git revision control system. Efforts are made to keep the master branch in a state that not only compiles and works, but that works at least as well or better than the latest release.

The following command can be used to checkout a copy of the musl git repository:

$ git clone git://

Source and revision history are also browsable online via cgit.

Official releases

musl generally follows a time-based release cycle, with versions spaced roughly one to three months apart. Version numbering, however, is based on an evolving roadmap for particular compatibility and feature goals. Releases are timed so as to make fixes for major bugs available in release form as soon as possible while leaving ample time for testing after significant invasive changes.

Beginning with 1.1.7, releases are signed with the project GPG key. Its fingerprint is 8364 8929 0BB6 B70F 99FF DA05 56BC DB59 3020 450F and can be cross-checked against @musllibc on Twitter.

See below for release notes summaries and download links.

Current Versions

Mainline - 1.1.12

This series is actively developed but intended for use in production environments as long as appropriate testing is performed, and should be preferred whenever there is a need for supporting an arbitrary, expanding set of packages or environments.

musl-1.1.12.tar.gz (sig) - Oct 19, 2015

This release features arch-independent support for FDPIC, an ABI variant that allows text segment sharing without MMU by relaxing the usual ELF requirement that data reside at a fixed displacement relative to code, and arch-specific support for FDPIC on SH2. CFI (call frame information) generation support has also been added for x86_64 asm, improving debugging backtraces, especially when a program is stopped during a syscall.

Several toolchain and application compatibility improvements have been made, most notably in regards to the new byte-based C locale, where nl_langinfo(CODESET) now returns "ASCII" rather than "UTF-8-CODE-UNITS"; the latter broke many applications which assumed the returned string would be a meaningful, well-known character encoding name.

Bugs fixed include deadlock at exit when stdin or stdout was closed, a missing memory barrier in pthread_join, and minor corner case bugs in various interfaces.

Stable - 1.0.5

This series does not add new features and avoids changes that might affect building packages against musl or using applications in environments where they are already known to work. It is intended mostly for developers targetting a fixed profile of application software and kernel, such as in embedded development.

musl-1.0.5.tar.gz (sig) - March 30, 2015

This maintenance release brings the 1.0 branch up to date with all important bug fixes that have been applied to mainline as of 1.1.8, including fixes for CVE-2015-1817 and many other bugs, some of which may also impact security. All users of earlier 1.0-series releases should patch or upgrade. This is likely to be the last release in the 1.0 series unless additional high or critical severity security bugs are found before the end of 2015.

Older versions

Earlier versions of musl have been moved to a separate page.