Release Notes: New improvements to the dynamic linker (TEXTREL and RPATH) increase compatibility with applications which don't follow best practices for building and installing libraries. A bug in dlopen that affected only certain compiler versions (misuse of local variables with longjmp) is fixed. Support is added for the stdio_ext.h family of interfaces, making it easier to compile buggy gnulib programs that try to poke at stdio FILE internals, the random() function is now thread-safe, mprotect works around a bug in the Linux syscall, and uninitialized long double values are handled safely in printf.
Release Notes: Shared libraries and dynamic loading (dlopen/dlsym) are now supported through an integrated dynamic linker with near-zero overhead. Other new features include POSIX message queues, posix_spawn, the search.h interfaces, the random() PRNG, and floating point environment manipulation. Moderately severe bugs in several string and wide string interfaces and glob(), as well as various minor bugs, have been fixed.
Release Notes: Support for numeric IPv6 address parsing has been added. Compiling musl with PCC should now succeed and result in a working library. The heap sort implementation of qsort has been replaced by smooth sort, yielding nearly-linear run time on arrays that are already mostly sorted. Various bugs including printf floating point rounding and scanf EOF handling have been fixed, as well as minor prototype issues in the public headers and an issue where variadic functions were incorrectly inlined on i386 with recent gcc versions.
Release Notes: This release features the second wave of major changes to pthread cancellation, believed to resolve all possible issues with resource leaks, premature cancellation, and late/missed cancellation opportunities, all while simplifying and reducing the code size and eliminating the cost in applications that do not use cancellation. Several major x86_64-specific bugs related to select(), fcntl locking, and alignment-related crashes, and many minor bugs affecting all platforms, have also been fixed.
Release Notes: Multiple bugs in IPv6 support, x86_64 socket and setjmp handling, byte swapping functions, and floating point printf formatting have been fixed. A workaround has been included for a bug in Linux readv() with tty devices, which caused stdio to block after reading a blank line from the terminal. Significant additions have been made to some header files for better compatibility with legacy applications.
Release Notes: More bugs have been fixed, including printf floating point formatting and rounding, printf positional argument specifiers, a misaligned read bug in strchr that could lead to crashes, general failure of getmntent_r, broken statvfs on x86_64, and various minor issues. More non-standard and system-level interfaces have also been added, increasing application compatibility.
Release Notes: Major bugs have been fixed, including a rare but serious bug in malloc for large allocations of particular sizes, a failure of strchr when searching for high bytes, parsing errors in strtold, and numerous smaller issues.
Release Notes: Support for POSIX timers (signal- and thread-based delivery) has been added. The stdio buffering implementation now uses readv/writev scatter-gather IO to operate on caller-provided and internal FILE buffers together in a single syscall, improving performance. Thread cancellation has been greatly improved to guarantee no resource leaks when a cancellation request is received at a resource-allocating syscall (such as open), giving musl a major robustness advantage over other libraries, including glibc. The syscall interface is now public. Other small improvements have been made and bugs fixed.
Release Notes: The previously-missing wide character printf-family functions and manual stdio locking functions (flockfile) have been implemented. Robust mutexes are also now supported. Various bugs have been fixed, including unconditional, potentially-dangerous stack corruption by the times() function and several minor bugs.
Release Notes: This release fills in a number of previously-missing interfaces, including POSIX shared memory, semaphores, and all remaining basic pthread and POSIX clock functions. In addition, many corrections have been made in the semantics of signals, threads, and various other interfaces. Significant bugs in the printf %n specifier and pthread_once function have been fixed. As of 0.7.0, musl is believed to pass all tests in the Open POSIX Test Suite except those that rely on not-yet-implemented features or that invoke undefined behavior.